Hallo mal wieder,
ich arbeite immer noch an meiner kleinen MDI Anwendung und stoße nun an ein weiteres Problem. Beim öffnen einer Form soll immer erst geprüft werden ob diese offen ist. Folglich habe ich im Netz und Forum hier gesucht und bin auch mehr oder weniger fündig geworden.
Meine Schleife sieht nun so aus :
private void Kundenbtn_Click(object sender, EventArgs e)
{
// Kunden Kunde = new Kunden();
foreach (Kunden frm in this.MdiChildren)
{
if (frm.GetType() == frm.GetType())
frm.Focus();
return;
}
Kunden Kunde = new Kunden();
Kunde.MdiParent = Main.ActiveForm;
Kunde.Show();
}
Das problem ist nun das diese Schleife überhaupt keinen effekt hat und ich mich frage wieso? Also die Forms öffnen sich so als wenn keine Schleife vorhanden wäre.
Da ich immer noch Neuling bin was wohl unschwer zu erkennen ist würde ich gerne einen Tip bekommen wo das problem liegt? Irgendwo in der Schleife 😉 Das weiß ich wohl 😃
Vielen dank schon mal im vorraus
Kevin
Das hoffen wir alle
Zwei Sachen fallen mir auf:
Hallo caoimhin,
im Prinzip das gleiche Problem und die gleiche Lösung, wie in Button wieder aus einer GroupBox entfernen..., nur dass es bei dir nicht darum geht, ein bestimmtes Objekt zu entfernen, sondern zu ermitteln, ob es ein bestimmtes Objekt schon gibt. Auch du musst dir einfach die richtigen Objekte merken, um diese Frage beantworten zu können. Entscheiden kann man das mit einer Abfrage auf != null. Wenn sich das Fenster schließen lässt, musst du die Variable natürlich wieder auf null setzen. Siehe dazu Form.FormClosing/Form.Closed.
herbivore