Sorry, da hatte ich dich wohl falsch verstanden (bzw. verlesen

) ... du willst bei Auswahl eines ComboBox-Eintrags die zugehörige EMail und Seriennummer dann in den Textboxen angezeigt haben.
Die erste Änderung, wie schon von mir beschrieben, ist das Erzeugen der Eigenschaften (besser als öffentliche Felder (public fields)!!!):
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| public string EMaiL { get { return m_emailAdresse; } }
public string SerialNumber { get { return m_serienNummer; } } |
Kürzer geht es auch übrigens auch so:
C#-Quelltext
1: 2:
| public string EMail { get; private set; } public string SerialNumber { get; private set; } |
(nun brauchst du die privaten Member nicht mehr, da der Compiler diese automatisch erzeugt)
Dann mußt du für die ComboBox das "SelectedIndexChanged"-Ereignis abonnieren und folgendermaßen implementieren:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { FooBar foobar = comboBox1.SelectedItem as FooBar; if (foobar != null) { textBox1.Text = foobar.EMail; textBox2.Text = foobar.SerialNumber; } } |
P.S. "abonnieren" ist der offizielle Ausdruck für das Erzeugen einer Methode für ein bestimmtes Ereignis, d.h. entweder im Code direkt mittels '+=' oder aber im VS für das gerade selektierte Steuerelement unter 'Ereignisse' einen Doppelklick ausführen.