Hallo,
ich bin geade dabei mir die Basisstruktur einer Anwendung zusammenzustellen:
Gelöst habe ich das folgendermaßen:
Die erste Schwierigkeit war: Menüpunkte und Buttons verhalten sich unterschiedlich! Bei Klick auf Menüpunkt bekommt das Hauptfenster kurzzeitig den Fokus, das Unterfenster öffnet sich und bekommt den Fokus. Beim Klick auf den Button geht das nur beim 1. Mal so, da das Hauptfenster den Fokus hat. Danach bekommt beim Klick auf den Button das Hauptfenster nur den Fokus, sonst nichts. Erst ein 2. Klick öffnet das Unterfenster und gibt dem den Fokus.
Lösung: jeden Fenster bekommt übder das MouseEnter-Event automatisch den Fokus.
Restproblem fürs Forum hier - habe ich so nirgends gefunden:
Zwar ist das Hauptfenster bedienbar, aber es liegt hinter allen Unterfenstern! Wenn alle klein genug sind kann ich sie nebeneinander anordnen. Sind die Fenster größer und verdecken sich gegenseitig mehr oder weniger, hätte ich gerne auch das Hauptfenster mal vorne. Das geht aber nicht!
Habe schon TopMost und SetForegroundWindow probiert - wirkungslos!
Falls jemand meine Anwendung verstehen will - EXE (VS 2010 für .NET 4) liegt als ZIP bei
http://www.sternwarte-wuerzburg.de/unused/TestApp2.zip
(und hinterlässt in user<user>\AppData\Local\Microsoft\TestApp2... eine Einstellungsdatei)
Eine mögliche Lösung sollte aber nur jedes der Fenster in den Vordergrund bringen können, ohne die Owner-Eigenschaften zu ändern, d.h. Schließen des Hauptfensters soll nach wie vor die ganze Anwendung schließen.
Bin für jeden Tipp dankbar!
Josef
Vielleicht solltest du MDI als Lösung in Betracht ziehen. Unter MDI-Testanwendung gibt es eine Testanwendung, die du dir anschauen kannst.
danke, tabstop,
aber MDI kommt für mich nicht (oder nur im Notfall) in Betracht, es würde ja alles in diesem unschönen Container ablaufen. Da würde ich noch eher das Hauptfenster auf Menü und Toolstrip beschränken und den Rest als 2. Fenster drunter aufmachen. Das ist dann gleichberechtigt wie die anderen.
Wäre schön wenn es eine Lösung gäbe. Aber ich habe mir grade mal andere Anwendungen angesehen, speziell GIMP: da ist es genauso, alle Werkzeugfenster liegen vor dem Hauptfenster, in dem das Bild editiert wird, dieses kann man nicht in den Vordergrund holen. Ist diese Möglichkeit wirklich nicht vorgesehen?