2011-01-17 7 views
50

Ich habe PictureBox picture.Wie bekomme ich Bildlaufleisten auf Picturebox

Ich benutze:

picture.Size = bmp.Size; 
picture.Image = bmp; 

sagen: Es werde zwei ganze Zahlen sind maxWidth und maxHeigth.
Ich möchte vertikale/horizontale Bildlaufleiste zu picture hinzufügen, wenn seine Größe maxWidth und/oder maxHeight überschreitet. Wie kann ich das machen?

Antwort

104

Sie können es leicht mit einem Panel Steuer

ein Panel zu Ihrem Formular einfügen, sagen panel1 und setzen

panel1.AutoScroll = true;

ein PictureBox einfügen zum Panel, sagen Bild und setzen

picture.SizeMode = PictureBoxSizeMode.AutoSize; 

und setzen Sie das Bild

picture.Image = bmp; 

hoffe, das hilft

+3

Dies ist eine nette Antwort, denn wenn Sie festlegen, dass das Fenster im Formular verankert werden soll, wird das Fenster beim Erweitern des Formulars erweitert und zeigt die Bildlaufleisten nach Bedarf an und aus. –

+1

Ich möchte diese Antwort abstimmen ZWEIMAL :) – noelicus

+10

Ich würde zu binils Antwort folgendes hinzufügen: Die Bildbox muss den Anker nicht rechts oder unten haben. Wenn Sie den Anker rechts platzieren, wird die horizontale Bildlaufleiste nicht angezeigt. Wenn Sie es auf den unteren Rand einstellen, wird die vertikale Bildlaufleiste nicht angezeigt. – CristisS

0

Ein weiterer Vorschlag ist die picturebox in einem Flowlayoutpanel zu setzen.

die Autoscroll des Flowlayoutpanel auf true gesetzt, und das Bildformat-Modus in den normalen

setzen immer bei 0,0 im Panel ein Flowlayoutpanel stellt sicher, dass das ausgewählte Bild ist

0

ich es an die Arbeit Indem ich auch eine Picturebox in ein Panel-Steuerelement einfüge, setze ich die AutoScroll-Eigenschaft des Panels auf true, aber ich setze auch die Autosize-Eigenschaft des Panels auf True und die Dock-Eigenschaft des Panels auf Fill (wenn der Benutzer die Größe des Formulars ändert Panel). Für die Picturebox setze ich seine Dock-Eigenschaft auf None und den SizeMode auf Autosize (so skaliert es auch, wenn das Panel und Formular die Größe ändert. Es funktionierte wie ein Charm, die Picturebox hat Scrollbalken und wenn der Benutzer die Größe des Formulars ändert, ist alles still

Verwandte Themen