[英]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.