2014-03-29 147 views
0

我製作了一個表單,用戶使用用戶名和密碼登錄。如果密碼不正確,我有一個messageBox RetryCancel。我希望用戶單擊「重試」並關閉消息框,同時保持登錄表單仍處於啓動狀態,以便用戶可以嘗試重新登錄。關閉MessageBox但保持窗體打開

我試了很多不同的選擇,基本上我得到的是一個無限循環或所有的窗戶關閉。這是我到目前爲止。謝謝,

if (line != PassWord) 
do 
{ 
     result = MessageBox.Show(message, "Error", MessageBoxButtons.RetryCancel, MessageBoxIcon.Information); 
     result = DialogResult.Retry; 
     this.Close(); 
} while(result == DialogResult.Retry); 
if (line == PassWord) 
{ 
    Close(); 
} 
+0

您也可以模擬在線登錄表單(因爲人們習慣於這些表單),並在用戶名/密碼上方顯示紅色標籤,指示憑據不正確。 – ryrich

回答

0
if (line != PassWord) 
{ 
    var result = MessageBox.Show(message, "Error", MessageBoxButtons.RetryCancel, MessageBoxIcon.Information); 
    if (result == MessageBoxResult.Cancel) 
    { 
     // User chose cancel, close app or whatever 
    } 
    else 
    { 
     // User pressed retry, nothing really happens 
    } 
}  
else if (line == PassWord) 
{ 
    Close(); 
} 
+0

唯一的問題是我想讓用戶再次輸入他們的密碼。當我單擊重試時,消息框關閉,表單也一樣。我希望表單保持打開狀態,以便他們可以再試一次。 – user3476718

+0

除非你明確地調用this.Close(),否則表單不會關閉... – nXu

+0

沒關係我得到它的工作。謝謝! – user3476718

0

你爲什麼不設計一個簡單的登錄表單,並檢查登錄按鈕的登錄用戶名和密碼。如果身份驗證失敗,只需使用okonly選項顯示「檢查用戶名和密碼」消息框。

相關問題