Hallo, wie kann ich meiner Anwendung wieder den Focus geben?
Es ist Teilweise TopMost aber eine andere Anwendung holt sich in einem bestimmten Moment den Focus wieder (wann das ist, weiss ich aber).
Wie kann ich meiner Anwendung den Focus geben. Interessant wäre auch wie ich einer anderen Anwendung den Focus geben kann?
Vielen Dank
.tim
hmm, ich dachte jetzt eigentlich, es würde reichen, wenn du
protected void OnDeactivate(EventArgs e)
überschreibst. aber das bringt es nicht.
du könntest nen timer benutzten, der alle paar millisekunden this.Focus() aufruft
du könntest nen timer benutzten, der alle paar millisekunden this.Focus() aufruft
davon möchte ich die aus folgenden gründen abraten:
mit this.Focus() funktioniert es eh nicht.
Das scheint nur zu funktionieren wenn die Anwendung bereits den Fokus hat, und man steuern möchte welches Control den Fokus haben soll.
Mir geht es aber darum das die Anwendung den Fokus bekommt. Ds was man z.B. durch Alt+Tab erreichen kann.
Die Timerlösung benötige ich nicht, da ich ja wie beschrieben weiss, wann meine Anwendung den Fokus verliert.
Edit: Form.Activate() funktioniert übrigends auch nicht wirklich gut. Gibt es vielleicht noch etwas?
Ich habe die Win32API Funktion SetForegroundWindow ausprobiert. Leider schaft diese es auch nicht den Fokus zu ändern.
Meine Anwendung startet eine Fremdsoftware.
Die Fremdsoftware nimmt meiner Anwendung den Fokus.
Meine Anwendung versteckt das Fenster der Fremdsoftware. In der Taskleiste bleibt ein Eintrag noch stehen.
Nun versuche ich meine Anwendung wieder den Fokus zu geben. Ohne Erfolg. Obwohl meine Anwendung maximiert geöffnet wird, hat sich die Taskleiste über die Anwendung gelegt. Der Taskleisteneintrag meiner Anwendung blinkt. Wenn ich nun mit der Maus auf den Eintrag oder das Fenster klicke ist alles ok.
Wie kann ich diesen letzten Schritt automatisieren?