Entwickler-Ecke
WinForms - Werte aus Form übergeben
Ritzeratze - Sa 18.10.14 16:25
Titel: Werte aus Form übergeben
Moin,
aus einen Formular rufe ich eine Unterform auf. Hieraus möchte ich zwei Werte an eine Picturebox übergeben (Breite und Höhe). Allerdings habe ich beim Debuggen festgestellt, das die Werte nicht übernommen werden. Kann mir jemand einen Tipp geben ?
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| void Bildgroesse() { frm_NeuesBild FrageBildgroesse = new frm_NeuesBild(); FrageBildgroesse.ShowDialog();
if (FrageBildgroesse.DialogResult == DialogResult.OK) { pictureBox1.Width = FrageBildgroesse.LiefereWeite(); pictureBox1.Height = FrageBildgroesse.LiefereHoehe(); } }
public int LiefereWeite() { return Convert.ToInt32(textBoxBreite.Text); }
public int LiefereHoehe() { return Convert.ToInt32(textBoxHoehe.Text); } |
Danke für die Tipps.
Ritze
Moderiert von
Th69: Code- durch C#-Tags ersetzt
C# - Sa 18.10.14 16:35
Hallo,
wird deine Unterform auch mit
DialogResult.OK geschlossen, also wird der if-Block überhaupt betreten?
Bei den beiden int-Werten würde ich persönlich auf Properties zurückgreifen, also
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30:
| class DeineUnterForm { public int BildBreite { get { int val; if (int.TryParse(textBoxBreite.Text, out val)) return val; return -1; } set { textBoxBreite.Text = value.ToString(); } } public int BildHoehe { get { int val; if (int.TryParse(textBoxHoehe.Text, out val)) return val; return -1; } set { textBoxHoehe.Text = value.ToString(); } } } |
und dann in der Hauptform:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7:
| ...
if (FrageBildgroesse.DialogResult == DialogResult.OK) { pictureBox1.Width = FrageBildgroesse.BildBreite; pictureBox1.Height = FrageBildgroesse.BildHoehe; } |
Ralf Jansen - Sa 18.10.14 17:24
Wie ist die PictureBox eingestellt? Es gibt genug Einstellungen in denen setzen von Height und Width keinen Einfluss hat. Z.B Wenn du an der PictureBox entsprechende Anchors gesetzt hast oder das Docking unpassend gesetzt hast oder du den SizeMode auf AutoSize gesetzt hast oder oder oder.
Edit : Dock und Anchors ist wahrscheinlich Unsinn.
Ritzeratze - So 19.10.14 10:41
Moin,
Danke für den Tipp. Hat wunderbar geholfen.
@ Ralf: Die Eigenschaft der Picturebox musste noch modiofiziert werden. Stand wie vermutet auf Dock = Fill.
Gruss Ritze
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!