【发布时间】:2011-10-27 09:23:03
【问题描述】:
我有一个在 2 台显示器上运行的应用程序(比如主屏幕和辅助屏幕)。辅助屏幕没有设置控制框属性。它完全取决于主屏幕的功能。我无法弄清楚的是,如果我将主屏幕最小化到系统任务栏,我也需要最小化辅助屏幕。同样,一旦我最大化主要,次要也应该最大化。
更新 我厌倦了做这样的事情,但把它搞砸了。它会在我不想要的应用程序启动后立即创建 2 个表单。
private void MainForm_Resize(object sender, EventArgs e)
{
SecondaryLayoutForm secondaryLayoutForm = new SecondaryLayoutForm();
if (this.WindowState == FormWindowState.Minimized)
{
secondaryLayoutForm.Hide();
}
else
{
secondaryLayoutForm.Show();
}
}
谢谢
【问题讨论】:
-
你有参考副屏的Form吗?如果是这样,您可以查看操作 WindowState 属性。 social.msdn.microsoft.com/forums/en-us/winforms/thread/…
-
我确实有对辅助屏幕的引用,但在主屏幕表单中没有。仅当满足某些值时,辅助屏幕才会在另一个类中实例化。所以基本上我的主屏幕中没有秒屏幕的参考
-
您可以在次要表单订阅的主要表单上创建最小化/最大化事件。
-
这就是我想知道的:)。我试图在主要表单上创建一个 Resize 事件,但把它搞砸了。 private void MainForm_Resize(object sender, EventArgs e) { SecondaryLayoutForm secondaryLayoutForm = new SecondaryLayoutForm(); if (this.WindowState == FormWindowState.Minimized) { secondaryLayoutForm.Hide(); } else { secondaryLayoutForm.Show(); } }
标签: c# winforms multiple-monitors