簡體   English   中英

如何在C#中將Windows窗體置於最前面?

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

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