Entwickler-Ecke
WinForms - picturebox mit scrollbalken?
avoid - Mo 28.01.13 15:19
Titel: picturebox mit scrollbalken?
gibt es einen weg damit eine picturebox bei einem zu großen bild scrollbalken darstellt?
ich habe es schon mit einem autoscroll panel und einer autosize picturebox versucht.
das funktioniert aber nur wenn ich eine grafikdatei lade.
in meinem fall wird die picturebox aber aus der zwischenablage gefüllt
und alles was über die picturebox größe hinaus geht wird abgeschnitten.
C#-Quelltext
1: 2: 3: 4: 5: 6:
| System.Drawing.Image returnImage = null; if (Clipboard.ContainsImage()) { returnImage = Clipboard.GetImage(); } pictureBox_Hintergrund.Image = returnImage; |
geht das damit auch irgendwie oder muß ich wirklich erst returnImage speichern und dann laden?
DarkStaRX - Mo 28.01.13 15:36
Sollte auch direkt funktioniern sprich so:
C#-Quelltext
1: 2: 3: 4:
| if (Clipboard.ContainsImage()) { pictureBox_Hintergrund.Image = Clipboard.GetImage(); } |
Oder habe ich dich falsch verstanden?
avoid - Mo 28.01.13 16:24
deine antwort ist richtig und vereinfacht meinen code.
danke dafür.
leider verfehlt die antwort aber das thema. ;)
hab warscheinlich zu verwirrend gefragt.
die frage ist: "wie bekomme ich eine picturebox zum autoscrollen"?
---- nachtrag ----
das eine picturebox ein sehr einfaches steuerelement ist, hab ich schon gelesen.
auch das sie ihre eigenschaften direckt von control erbt.
nun stellt sich mir also die frage, muß ich ein neues steuerelement erstellen
oder mit umwegen wie dem speichern der zwischenablage in eine datei arbeiten?
gibt es keine möglichkeit eine eigenschaft zur laufzeit hinzu zu fügen?
jaja ich bin da schon etwas blauäugig. ;)
avoid - Mo 28.01.13 18:31
ja, sowas.
nur nicht mit öffnen einer datei sondern einfügen aus der zwischenablage.
da ich mit snapshot (im Adobe Reader) den ausschnitt eines pdf in meine anwendung lade.
wie oben schon geschrieben geht das mit autoscroll panel und einer autosize picturebox schon.
aber nur wenn ich aus einer datei lade, nicht wenn der inhalt aus der zwischenablage kommt.
als beispiel: paint vergrößert ja auch den bearbeitungsbereich, wenn man etwas einfügt das größer ist.
eine picturebox macht das zwar aber ohne scrollbars ein zu blenden.
und bette ich die picturebox in ein panel, dann behält die picturebox beim einfügen einfach ihre größe.
als würde sie nicht mit bekommen das der inhalt aus der zwischenablage größer ist.
der inhalt ist vollständig eingefügt was ich sehen kann wenn ich das form maximiere,
aber die gößen änderung der picurebox macht er nicht beim einfügen.
Th69 - Mo 28.01.13 19:01
Dann probiere mal:
C#-Quelltext
1: 2: 3:
| panel.AutoScroll = false; pictureBox.Image = Clipboard.GetImage(); panel.AutoScroll = true; |
(oder so in der Art)
Oder aber mit der PictureBox.SizeMode-Eigenschaft herumspielen...
avoid - Mo 28.01.13 20:35
das hats gebracht!
C#-Quelltext
1: 2: 3: 4: 5: 6:
| if (Clipboard.ContainsImage()) { panel1.AutoScroll = false; pictureBox1.Image = Clipboard.GetImage(); panel1.AutoScroll = true; } |
und bei der pictureBox1 den SizeMode = AutoSize.
komisch das es mit scroll aus und wieder an schalten geht.
gibt es solche probleme in c# öfter?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!