Avatar billede iakob Nybegynder
10. juni 2008 - 07:55 Der er 8 kommentarer og
1 løsning

Billede på tabpage: scrollbaren mangler

Jeg har følgende kode:

private void tabBillede_Paint( object sender, PaintEventArgs e )
{
    try
    {
        this.tabBillede.AutoScroll = true;
        Image image = GetImage( this.Billede ); // privat metode
        if( image != null )
        {
            Graphics picture = e.Graphics;
            picture.DrawImage( image, AutoScrollPosition.X, AutoScrollPosition.Y, image.Width, image.Height );
        }
    }
    catch( Exception ex )
    {
        throw ex;
    }

}


Men selvom billedet tegnes - og selvom det er for stort til at være på tabBillede, så kommer der ikke nogen scrollbarer.

Hvad gør jeg forkert?
Avatar billede aaberg Nybegynder
10. juni 2008 - 08:02 #1
Der kommer ikke automatisk en scrollbar, bare fordi du tegner uden for din control! Hvilken type control er det du tegner på?
Avatar billede iakob Nybegynder
10. juni 2008 - 08:44 #2
Den tegnes på en tabpage.

For autoscroll står der i hjælpen: "Gets or sets a value indicating whether the container enables the user to scroll to any controls placed outside of its visible boundaries."

Da grafikken ikke er en control, så burde det heller ikke virke bare at sætte Autoscroll.

Men hvad gør jeg så?
Avatar billede aaberg Nybegynder
10. juni 2008 - 09:29 #3
Du sætter AutoScrollMinSize propertien til at være størelsen på alt indholdet i din tabpage. Hvis din tabpage er mindre end denne størrelse, vil der automatisk komme scrollbare.

Jeg ser at du allerede bruger AutoScrollPosition propertien til at håndtere scrollingen i din metode som tegner, så jeg tror alt du behøver at gøre er at sætte AutoScrollPosition.
Avatar billede iakob Nybegynder
10. juni 2008 - 10:39 #4
Så fik jeg lavet koden så det også scroller pænt uden grafikfejl.

private void tabBillede_Paint( object sender, PaintEventArgs e )
{
    if( this.m_Image != null )
    {
        Graphics picture = e.Graphics;
        this.tabBillede.AutoScrollMinSize = new Size( this.m_Image.Width, this.m_Image.Height );
        picture.DrawImage( this.m_Image, this.tabBillede.AutoScrollPosition.X, this.tabBillede.AutoScrollPosition.Y, this.m_Image.Width, this.m_Image.Height );
    }
}

Tak for hjælpen - hvis du svarer så får du de 30 points.
Avatar billede iakob Nybegynder
10. juni 2008 - 10:42 #5
Uh.. jeg satte i øvrigt AutoScroll i property fanebladet på designdelen - derfor er den fjernet fra overstående kode. Ligeledes så sætter jeg nu billedet når dialogen åbner.
Avatar billede aaberg Nybegynder
10. juni 2008 - 11:19 #6
svar :-)
Avatar billede iakob Nybegynder
10. juni 2008 - 14:01 #7
Godt svaret
Avatar billede aaberg Nybegynder
10. juni 2008 - 14:39 #8
Jeg tolkede det som om du havde fået svar på dit spørgsmål, derfor lagde jeg et svar. Hvis du stadig mangler at få svar på noget, så ser jeg ikke ud fra dine posts hvad det er! I dette tilfælde, kan du da uddybe lidt mere hvad du mangler at få svar på?

Beklager hvis jeg har misforstået noget her! :-)
Avatar billede iakob Nybegynder
10. juni 2008 - 14:41 #9
Det er fordi Firefox ikke vil opføre sig ordenligt. Nu er jeg gået over i internet exploreren og håber at jeg kan acceptere dit svar herfra.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



Seneste spørgsmål Seneste aktivitet
I dag 10:28 PDFEngine Af barth i Andet software
I går 22:40 Butte indhold i celler Af lurup i Excel
I går 15:24 Power Query Af djsimonsen i Excel
I går 14:43 Hvis ikke på liste, tilføj værdier til liste Af TheLibrarian i Excel
I går 11:33 Windows 11 Af ranni i Windows