让我的winforms窗口始终保持最佳状态我可以使用:
TopMost = true;
但这将使窗口始终保持最佳状态。我希望它只在应用程序中保持最佳状态。因此,当我最小化我的应用程序或更改应用程序时,我不希望它再次保持最佳状态。
答案 0 :(得分:4)
我认为你正在寻找Form.Owner财产
要使表单由另一个表单拥有,请为其所有者属性分配对将成为所有者的表单的引用。
当表单由另一个表单拥有时,它将被所有者表单关闭或隐藏。例如,考虑一个名为Form2的表单,该表单由名为Form1的表单拥有。如果Form1已关闭或最小化,Form2也将关闭或隐藏。所有窗体也不会在其所有者表单后面显示。您可以使用窗口的自有窗体,例如查找和替换窗口,当选择所有者窗体时,窗口不应该消失。
如果您没有从“应用程序窗口”显示子窗体,访问应用程序窗口(a.k.a主窗体)的最简单方法是使用类似这样的内容
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(MainForm = new MyAppForm());
}
public static MyAppForm MainForm { get; private set; }
}
然后
var childForm = new MyChildForm();
childForm.Owner = Program.MainWindow;
//childForm.ShowInTaskbar = false;
childForm.Show();
答案 1 :(得分:0)
不是设置TopMost = true;
而是使用Form1.ShowDialog();