LukOnline Geschrieben 4. Juli 2011 Geschrieben 4. Juli 2011 Hallo Leute, mal eine Frage zu MDIs: Ich habe 2 MDI-Childs: -Child 1: WindowState: Maximized -Child 2: WindowState: Normal; StartPosition: CenterScreen; Child 1 ruft nun Child 2 auf: frm_Schnellsuche Schnellsuche = new frm_Schnellsuche(this.Connection); Schnellsuche.MdiParent = this.MdiParent; Schnellsuche.Show(); Child 2 soll IMMER seine normale größe haben und nicht maximiert werden. Doch in meinem Programm hat es nur seine vorgegebene Größe, wenn Child 1 vorher verkleinert wird. Sobald Child 1 maximiert ist, wird Child 2 dies auch; obwohl ich es anders eingestellt habe. Ist das ein Bug oder muss das so sein? Gibt es einen Workaround? LG, Luk
Guybrush Threepwood Geschrieben 4. Juli 2011 Geschrieben 4. Juli 2011 Ich würde mal vermuten das das by Design so ist, denn in allen MDI Anwendungen ist das eigentlich so das wenn du ein Fenster maximierst das für alle gilt. Ein Workaround wäre wenn du beim öffnen der Form die nie maximiert sein soll, die Darstellung halt selber änderst.
LukOnline Geschrieben 5. Juli 2011 Autor Geschrieben 5. Juli 2011 (bearbeitet) Hey, danke für deine Antwort! Ja, so werde ich es wohl machen müssen... Doof... Direkt von Windows kennt man das ja auch so, dass es maximierte und normale Fenster gibt... Aber gleich nochwas: Ich bin auf folgendes gestoßen: MDI child as dialog form (MDI modal workaround) - CodeProject Dieser Code bringt ein MDI-Child in den Vordergrund; wie eine richtige DialogBox und man kann es nicht in den Hintergrund klicken. Ich öffne also mein Form: frm_Schnellsuche Schnellsuche = new frm_Schnellsuche(this.Connection); try { [INDENT]ShowChildDialog(Schnellsuche, ChildDemoForm_DialogReturned);[/INDENT] } Im Form Schnellsuche habe ich eine Property: public string GetName { get { return this.ResultName; } } Sie gibt mir eine Variable zurück. Wie oben ersichtlich, übergebe ich das Objekt Schnellsuche an die Funktion ShowChildDialog. In der Funktion ShowChildDialog bekomme ich für Schnellsuche.GetName nichts angezeigt (es erscheint nicht in der Auswahlliste von Visual Studio). Was mache ich da falsch? Danke, Luk EDIT: Habs gefunden - Sorry! Im Methodenkopf stande public void ShowChildDialog(Form Schnellform, statt public void ShowChildDialog(frm_Schnellform Schnellform, Bearbeitet 5. Juli 2011 von LukOnline
LukOnline Geschrieben 5. Juli 2011 Autor Geschrieben 5. Juli 2011 Eine Frage habe ich aber noch, dann läuft es ^^ ChildDemoForm_DialogReturned(object sender, DialogResultArgs e) Dieser Methodenkopf wird im Beispielcode nur so aufgerufen: ChildDemoForm_DialogReturned Ich möchte ihm aber gern noch einen dritten Parameter mitgeben - einen string: ChildDemoForm_DialogReturned(object sender, DialogResultArgs e, string TEST) Wie rufe ich aber jetzt die Methode auf - also was übergebe ich für object sender und DialogResultArgs e??? Wäre super wenn mir nochmal jemand helfen könnte! Danke im voraus schonmal!
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden