Hallo zusammen,
so kurz vor dem Wochenende haut mich doch nochmal eine Sache um - und ich finde nicht mal eine Idee mein Problem zu umgehen.
Daher hoffe ich auf Eure Hilfe
Los gehts:
Ich habe eine einfache Form, ohne Panels oder dergleichen.
In diese Form setze ich einen Button - ohne Funktion.
Desweiteren habe ich ein UserControl - ohne irgendwelche Elemente (MeinUserControl1).
Und es gibt noch ein weiteres UserControl, dieses beinhaltet eine Combobox, die ich über die DataSource fülle: (MeinUserControl2)
| Zitat: |
public MeinUserControl2()
{
InitializeComponent();
List<String> abc = new List<string>();
abc.Add("A");
abc.Add("B");
abc.Add("C");
abc.Add("D");
comboBox1.DataSource = abc;
} |
Außerdem habe ich noch eine Textbox eingebaut, ohne Funktion.
Jetzt gehts los:
Im Konstruktor der Form rufe ich eine neue Instanz eines MeinUserControl1-Objekts auf und füge sie den Controls hinzu:
| Zitat: |
public Form1()
{
InitializeComponent();
Controls.Add(new MeinUserControl1());
} |
Im Konstruktor des MeinUserControl1-Objekts rufe ich eine neue Instanz eines MeinUserControl2-Objekts auf und füge sie den Controls hinzu:
| Zitat: |
public MeinUserControl1()
{
InitializeComponent();
Controls.Add(new MeinUserControl2());
} |
Ich wünsche mir nun folgendes: wenn der ausgewählte Wert der Checkbox keinem Wert der Liste entspricht, so soll er eine Fehlermeldung ausgeben.
Somit lege ich folgenden Code auf das "Leave"-Ereignis meiner Combobox:
| Zitat: |
private void comboBox1_Leave(object sender, EventArgs e)
{
if (comboBox1.SelectedItem == null)
{
MessageBox.Show("NEE!");
this.comboBox1.Focus();
}
} |
Das wars - so sollte es klappen.
Ich starte die Applikation und erhalte in etwa folgendes Bild
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| ------------------------------------------------------------ # MeineForm # ------------------------------------------------------------ # |comboBox *| | Textbox_ | # # # # __________ # # |__Button__| # # # # # ------------------------------------------------------------ |
Jetzt tippe einen falschen Wert in die Combobox ein, und klicke dann auf das Textfeld.
Sofort erscheint die Fehlermeldung, danach springt der Cursor/Focus wieder in die Combobox - super, denn genau das will ich.
Jetzt wiederhole ich den Vorgang, klicke aber diesesmal auf den Button.
Die Fehlermeldung erscheint, ich klicke auf okay und die Fehlermeldung erscheint wieder und wieder und wieder..
Kann mir jemand bitte helfen?
Danke und liebe Grüße
Beathoven