Fragensteller
Scrollbar erstellen

Frage
-
Hallo,
Ich habe ein programm welches mir eine bitmap erstellt und diese in einer windows form ausgibt.
Ist diese bitmap größer als der bereich der angezeigt werden kann so möchte ich eine scrollbar, lösung eins war via "autoscroll"das funktioniert aber nur
bis zu dem punkt an dem ich die form verkleinere den die scrollbar bleibt gleich groß also erstreckt sich immernoch über den ganzen bildschirm und wird abgeschnitten.
Wie kann ich nun eine scrollbar manuell erstellen welche sich automatisch der windows form größe ( in diesem fall heißt die form "frm_organigramm" und das pannel heit "pnl_main" ) anpasst ?
mfg
Alle Antworten
-
Hallo r3dshad,
verfrachte die PictureBox einfach in ein Panel und setzte die Eigenschaft "AutoScroll" des Panels auf "true". Danach werden die Scrollbars bei Bedarf angezeigt.
Viele Grüße
Holger M. Rößler
- Bearbeitet Holger M. Rößler Montag, 20. September 2010 14:09 Vertipper
- Als Antwort vorgeschlagen Elmar Boye Dienstag, 21. September 2010 08:23
-
Hallo,
leider mache ich das bereits:
Panel pnl_main = new Panel(); ..... pnl_main.Controls.Add(picOrgChart); ..... if (pnl_main.Height < content_height || pnl_main.Width < content_width) { pnl_main.AutoScroll = true; }
Funktioniert aber leider nicht verkleinere ich das fenster so bleibt der scrollbalken auf maximaler bildschirmbreite und wird abgeschnitten.
- Bearbeitet Robert Breitenhofer Montag, 22. November 2010 16:26 Formatierung
-
Hallo,
setzte bitte mal die AutoScroll-Eigenschaft gleich nach dem erzeugen des Panels auf true.
Panel pnl_main = new Panel(); pnl_main.AutoScroll = true; //<-- Hier bereits auf true setzen ..... pnl_main.Controls.Add(picOrgChart);
Evtl. könntest du zum besseren Verständnis auch mal hier reinschauen: http://msdn.microsoft.com/de-de/library/system.windows.forms.scrollablecontrol.autoscroll.aspx
Viele Grüße
Holger M. Rößler
-
-
Hi,
dann verwende bitte mal anstelle eines Panels ein FlowLayoutPanel. (http://msdn.microsoft.com/de-de/library/system.windows.forms.flowlayoutpanel_members(v=VS.80).aspx)
Viele Grüße
Holger M. Rößler
-
Schneidet leider immernoch ab. Wenn ich die Windows form skaliere wird zwar das Fenster vond er größe her verändert und die anderen pannel aber pnl main und der scrollbalken bleiben genau so wie sie úrsprünglich wahren.
pnl_main.Width = frm_Organigramm.Width - 25; pnl_main.Height = frm_Organigramm.Height - Speichern.Height - 2 - 96; pnl_main.Top = Speichern.Height + 2; pnl_main.Left = (frm_Organigramm.Width - pnl_main.Width) / 2; frm_Organigramm.Height - Speichern.Height - 2 - 96); pnl_main.MaximumSize = new Size(w - 25, frm_Organigramm.Height - Speichern.Height - 2 - 96); pnl_main.MinimumSize = new Size(775, frm_Organigramm.Height - Speichern.Height - 2 - 96); pnl_main.AutoSize = true; pnl_main.AutoSizeMode = AutoSizeMode.GrowAndShrink;
- Bearbeitet Robert Breitenhofer Montag, 22. November 2010 16:30 Formatierung