2013-08-26 12 views
10

Mam formularz, który chcę zawsze być na górze, gdy jest otwarty w aplikacji, ale nie chcę, aby był na górze, gdy główny formularz jest zminimalizowany lub inna aplikacja jest nawigowany. Chcę, żeby była na szczycie tylko w mojej aplikacji.Jak utworzyć formularz zawsze na wierzchu w aplikacji

Po odpowiedzi na pytanie: How to make a window always stay on top in .Net?

this.TopMost = true; 

Sprawia formularza na górze, ale forma jest wciąż na szczycie, gdy inna aplikacja jest poruszać się lub główną formą jest zamknięta.

Pls w jaki sposób mogę utworzyć formularz tylko u góry w aplikacji, umożliwiając jednocześnie użytkownikowi pracę nad głównym formularzem?

+1

Proszę wyjaśnić: czy chcesz, aby była najlepsza, gdy aplikacja nie jest zminimalizowana, czy też najwyżej wszystkich okien, które należą do Twojej aplikacji? –

+0

@AlexeiLevenkov Najwyższy z wszystkich okien należących do mojej aplikacji –

+0

Możesz otworzyć 'Form' używając' ShowDialog' zamiast 'Show' –

Odpowiedz

14

Szukasz okna o numerze , którego właścicielem jest. Jest zawsze na wierzchu właściciela i zostaje zminimalizowany wraz z właścicielem. Dobrymi przykładami posiadanych okien są różne okna pomocnicze wewnątrz Visual Studio. Możesz je oddokować, ale zawsze pozostaną na głównym oknie VS.

Użytkownik tworzy okno, wyświetlając je z przeciążeniem Pokaż (właścicielem). Lub wyraźnie przypisując swoją właściwość Właściciel.

4

Ustaw najwyższy poziom, a następnie ustaw właściciela, przykład poniżej.

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

TopLevel jest już domyślnie * true *. –

+0

Ustawienie 'TopLevel' na' true' w tej sytuacji powoduje, że okno pozostaje nad innymi aplikacjami. Jeśli jest ustawiony na "false" i ma właściciela, pozostanie tylko na wierzchu aplikacji. – jahu

Powiązane problemy