簡體   English   中英

從主窗體打開新窗體后,如何在出現錯誤后留在此窗體中

[英]After open new form from the main form how to stay in this form after error

我有申請,並且從主要表格中打開了新表格:

Form2 frm2= new Form2(file);
frm2.ShowDialog();  

並從用戶輸入中讀取參數:

TextBox tbInsert;

private void btnPlay_Click(object sender, EventArgs e)
{
    try
    {
        IPAddress ip = IPAddress.Parse(tbInsert.Text);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message, "Error");
        return;
    }
}

我的問題是,如果未指定合法的IP Address ,則在MessageBox error Form2關閉並返回到Main Form而不是留在Form2

您可能將“ btnPlay”按鈕設置為表單的Form.AcceptButton,使其行為類似於“確定”按鈕,請按Enter鍵關閉對話框。 或者,您可以設置按鈕的DialogResult屬性。 無論哪種方式,對話框都會自動關閉,DialogResult屬性將被自動設置。

因此,您必須再次重置它以保持對話框打開:

try
{
    // etc...
}
catch (Exception ex)
{
    this.DialogResult = DialogResult.None;
    MessageBox.Show(ex.Message, "Error");
}

如果我猜對了, dialog result這個原因,您的按鈕設置為返回dialog result類型,則您的表格已關閉。 在您的form2構造函數中嘗試這樣的事情

btnPlay.DialogResult = DialogResult.None;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM