[英]How do I bring a Windows form to the front in c#?
在我的應用程序中,當用戶單擊標簽以打開表單時,該表單在后台打開。我的意思是它不在最前面,而是放在任務欄上。 一旦用戶取消了該表單實例並再次單擊標簽,該表單就會在前台打開。下面的代碼部分將完成特定工作。
if (DataFormDlg.Instance.InvokeRequired)
{
DataFormDlg.Instance.BeginInvoke(
new ShowDataFormDelegate(ShowDataForm), pageId, timeout);
return;
}
DataFormDlg.Instance.CurrentPageId = pageId;
DataFormDlg.Instance.Timeout = timeout;
if (!DataFormDlg.Instance.Visible)
DataFormDlg.Instance.ShowDialog();
else
DataFormDlg.Instance.Focus();
這里的DataFormDlg是從Windows窗體派生的。
將當前表單作為所有者傳遞給ShowDialog
方法。 這樣,即使用戶單擊第一個窗體,對話框窗體也永遠不會落后於第一個窗體。
另一個結果是當所有者窗體關閉時,第二個窗體自動關閉。 當使用Show
而不是ShowDialog
打開第二個窗體時,此功能特別有用。
DataFormDlg.Instance.ShowDialog(this);
使用此重載版本:
public DialogResult ShowDialog(IWin32Window owner)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.