我有一个在系统托盘中静默运行的应用程序。有时,我需要它向最终用户弹出一个小通知表单。
我尝试使用 WinForms 应用程序来完成此操作,该应用程序的大部分逻辑都内置在不向用户显示的隐藏表单中。然后,当满足某些条件时,我向用户显示一个辅助表单。
我的问题是,即使我设置 TopMost = true,这种辅助形式也不总是在最前面。
我相信这是因为没有显示主窗体,所以它的子窗体不能利用 TopMost = true。我尝试将 TopMost 移动到几个不同的地方。还有其他想法吗?
MainForm 逻辑:
ChildForm childForm = new ChildForm(this);
int x = (Screen.PrimaryScreen.Bounds.Width / 2) - (childForm.Width / 2);
childForm.StartPosition = FormStartPosition.Manual;
childForm.Location = new Point(x, 0);
childForm.ShowDialog();
//childForm.TopMost = true;
ChildForm 逻辑:
public ChildForm(MainForm mainForm)
{
InitializeComponent();
//this.TopMost = true;
}