我有一個系統,其中主窗體是菜單,並在加載時彈出一個登錄窗體。 最初它在菜單下面加載了登錄表單,所以我使用了this.topmost = true使它到達前端。 (因爲帶到前面,併發回來沒有工作)登錄表單不會丟失焦點
但是,如果用戶然後點擊其他的東西,說鉻,然後它仍然停留在z順序的頂部,由最高層的定義。
我試着使用停用事件,但這意味着在加載時它會再次出現在菜單表單後面。
我怎樣才能阻止它從我的菜單表單後面加載,但是當它失去焦點時,它會阻止它從最頂層?
private void login_Deactivate(object sender, EventArgs e)
{
// do not want it to remain top most when the application is not in focus.
this.TopMost = false;
}
在菜單形式:
private void Menu_Load(object sender, EventArgs e)
{
openLogin()
}
private void openLogin()
{
Cursor.Current = Cursors.WaitCursor;
login theForm = new login(this);
this.Enabled = false;
theForm.Show();
Cursor.Current = Cursors.Default;
theForm.Activate();
theForm.TopMost = true; // Make the login form display over the Menu
}
非常感謝,瞬間工作!歡呼 –
很高興能有所幫助。 –