如何在c#中将Windows窗体放在前面
本文关键字:窗体 在前面 Windows 中将 | 更新日期: 2023-09-27 17:58:24
在我的应用程序中,当用户单击标签打开表单时,该表单将在后台打开。我的意思是它不会出现在前面,而是放在任务栏上。一旦用户取消该表单实例并再次单击标签,该表单就会在前台打开。下面的代码部分完成了具体的工作。
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)