簡體   English   中英

C# Win Forms 打不開

[英]C# Win Forms not opening

我有一個 WinForm 列表框選擇用戶可以進入的表單列表。

我有一個應該打開新表單的功能

private void sendToDB_Button_Click(object sender, EventArgs e)
{
    string selected_item = listBox1.SelectedItem.ToString();
    Form _secondForm = new Form();

    if (selected_item == "389")
        _secondForm = new Forms._389_Form();
    else if ( selected_item == "120" )
        _secondForm = new Forms._120_Form();
    //... Repeat for 30 more forms ...

    this.Hide();
    _secondForm.Show();
}

運行應用程序並選擇“389”時,當前表單將按原樣關閉,但沒有在新表單中打開任何內容。 好奇是否將表單放在名為Forms的文件夾中是這里的問題。 有問題的行是_secondForm = new Forms._389_Form(); 這是否破壞了應用程序?

而不是_secondForm.Show(); 我把它改成了_secondForm.ShowDialog(); 我得到了預期的結果。

根據此鏈接: https : //stackoverflow.com/a/20859112/8149159 ,答案的作者指出:

Show函數以非模態形式顯示表單。 這意味着您可以單擊父窗體。

ShowDialog以模態方式顯示表單,這意味着您無法轉到父表單

嘗試

this.Hide();
_secondForm.ShowDialog();
//if you want close precedent form
this.Close();

Hide 用於“隱藏”用戶的所有操作 ShowDialog 用於打開表單,Close 用於關閉先例表單

暫無
暫無

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

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