2013-08-26 12 views
10

Ich habe ein Formular, das ich immer oben sein möchte, wenn es in der Anwendung geöffnet wird, aber ich möchte nicht, dass es oben ist, wenn das Hauptformular minimiert oder eine andere Anwendung ist navigiert. Ich möchte, dass es nur in meiner Anwendung oben ist.Wie man Formular immer oben in Anwendung

in der Frage der Antwort Folgende: How to make a window always stay on top in .Net?

this.TopMost = true; 

macht die Form auf, aber die Form ist immer noch auf, wenn eine andere Anwendung oder das Hauptformular geschlossen wird, navigiert wird.

Pls wie mache ich das Formular nur oben in der Anwendung, während der Benutzer noch am Hauptformular arbeiten kann?

+1

Bitte klarstellen: Sie möchten, dass es oberste bleibt, während Ihre App nicht minimiert ist ODER das oberste aller Fenster, die zu Ihrer App gehören? –

+0

@AlexeiLevenkov Oberste aller Fenster, die zu meiner App gehören –

+0

Sie könnten die 'Form' mit' ShowDialog' anstelle von 'Show' öffnen –

Antwort

14

Sie suchen nach einem im Besitz Fenster. Es ist immer oben auf dem Besitzer und es wird zusammen mit dem Besitzer minimiert. Gute Beispiele für eigene Fenster sind die verschiedenen Hilfsfenster in Visual Studio. Sie können sie abdocken, aber sie bleiben immer im VS-Hauptfenster.

Sie erstellen ein eigenes Fenster, indem Sie es mit der Überlastung Show (Eigentümer) anzeigen. Oder indem Sie explizit die Besitzereigenschaft zuweisen.

4

Legen Sie die oberste Ebene fest und legen Sie dann den Besitzer fest, Beispiel unten.

public Form1() 
{ 
    InitializeComponent(); 
    Form2 f2 = new Form2(); 
    //top level not really needed 
    f2.TopLevel = true; 
    f2.Show(this); 
} 
+2

TopLevel ist bereits standardmäßig * true *. –

+0

Das Setzen von 'TopLevel' auf' true' in dieser Situation führt dazu, dass das Fenster über anderen Anwendungen bleibt. Wenn es auf "false" gesetzt ist und einen Besitzer hat, bleibt es nur auf der Anwendung. – jahu

Verwandte Themen