感謝所有努力回答我的問題的人。如何知道用戶是否點擊了表格中的X
我正在使用WinForms C#,並在MainForm_Load上爲用戶調用Login窗體。登錄表單包含X按鈕(右上角的默認按鈕)和Login按鈕。
現在...
如果用戶決定點擊X按鈕登錄窗體關閉,所以應該在MainForm的,我知道該怎麼做。但是...如果用戶點擊LoginButton,LoginForm應該關閉,但MainForm應該保持打開狀態。
任何想法hwo要做到這一點?
感謝所有努力回答我的問題的人。如何知道用戶是否點擊了表格中的X
我正在使用WinForms C#,並在MainForm_Load上爲用戶調用Login窗體。登錄表單包含X按鈕(右上角的默認按鈕)和Login按鈕。
現在...
如果用戶決定點擊X按鈕登錄窗體關閉,所以應該在MainForm的,我知道該怎麼做。但是...如果用戶點擊LoginButton,LoginForm應該關閉,但MainForm應該保持打開狀態。
任何想法hwo要做到這一點?
您可以在Form.FormClosing
活動中檢查e.CloseReason
!如果X被點擊或用戶按下Alt + F4
Private Sub YourForm_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If e.CloseReason = CloseReason.UserClosing Then
'Closed by user
'
'Do something like
'Application.Exit()
'
'or close both forms
Else
'Other close reason
End If
End Sub
的CloseReason將UserClosing。
假設你正在使用ShowDialog
顯示登錄表單,那麼你可以這樣做:
if(LoginForm.ShowDialog() == DialogResult.OK)
{
//login ok
}
它關閉之前,你的登錄表單應該設置DialogResult的就OK了,但只有成功登錄,就像這樣:
if(LoginSuccess){
this.DialogResult = DialogResult.OK;//this will also close the form
}
您不需要Close()調用;設置DialogResult會自動隱藏表單並將執行返回到ShowDialog()行。 –
@Idle_Mind:呃......從來不知道。我不喜歡它,但不是我想要設置一個屬性的行爲 – musefan
上的登錄按鈕的單擊事件處理程序,添加到this.Close()
電話本應該關閉登錄形式,在不影響主要形式。
這是另一種選擇:
您可以通過設置登錄表單的控制框財產登錄表單禁用X鍵假
_How_你展示登錄表單? –