【问题标题】:Output to another Window输出到另一个窗口
【发布时间】:2012-02-23 21:11:11
【问题描述】:

有没有办法让 VB.NET 中的表单在第二个监视器中打开并最大化。也就是如果有两个显示器显示,让第二个窗口中的表单加载默认最大化?

假设一个程序由两个表格组成,一台计算机连接了两个显示器。

我希望 FormA 默认显示在 MonitorA 中,FormB 默认显示在 MonitorB 中最大化。

编辑:为清楚起见进一步编辑。

【问题讨论】:

  • 当您说 window 时,您是指一个可以最小化和最大化的窗口,还是实际上指的是一个 monitor screen我>?我觉得这个问题有点不清楚。
  • 我其实指的是另一个显示器屏幕。
  • 那我不太明白你说的“在第二个窗口中加载表单”是什么意思。在这种情况下,什么是表格?这是一个 winforms、WPF 还是 ASP.NET 项目?
  • WinForms 项目。我特别提到了 VB.NET 作为语言。
  • 感谢您的澄清;这个问题现在对我来说很有意义。

标签: vb.net io multiple-monitors


【解决方案1】:

首先是获取有关可用屏幕的信息。您可以从Screen.AllScreens 获得。接下来是确定有多少个屏幕(注意可能有两个以上)。然后您需要决定如何识别“第二个”屏幕(例如,Primary 属性为false 的第一个屏幕。

完成后,我想最简单的方法是将表单移动到所需屏幕的Bounds 内的位置,然后将其最大化。

这是一个在指定屏幕上打开一个最大化的表单的示例方法:

public static void ShowMaximizedOnScreen(Screen screen, Form form)
{
    form.Location = screen.Bounds.Location;
    form.WindowState = FormWindowState.Maximized;
    form.StartPosition = FormStartPosition.Manual;
    form.Show();
}

【讨论】:

  • @PaulWilliams 我刚刚注意到您的问题被标记为 vb.net,但我希望代码示例仍然可用。
猜你喜欢
  • 1970-01-01
  • 2014-12-31
  • 1970-01-01
  • 1970-01-01
  • 2012-12-12
  • 2010-12-15
  • 2013-11-04
  • 1970-01-01
  • 2019-04-14
相关资源
最近更新 更多