2012-03-13 24 views
0

我现在作为一些公司的初级顾问工作,并有尝试使一个应用程序,同时在树形屏幕上运行任何人都有一个线索,从这样的事情开始,也许一个设计模式或一些很棒的库。 任何帮助将是伟大的。编程为多个显示器

  • 单个运行的应用程序这就是跨越树显示器运行的每个屏幕将负责一个视窗形式或多种形式。

  • 现在在哪里的东西

+5

这取决于你想要做的显示器!只需在那里放置窗户?绘制全屏图形? – 2012-03-13 08:56:00

+0

我真的很想知道如何在XNA上下文中做到这一点。有没有人有过这方面的经验? – Christian 2012-03-13 09:06:08

+0

3种形式或1种形式是超宽的? – RvdK 2012-03-13 09:08:52

回答

3

的技术分析,这实在是相当简单的,你只需要设置窗体的位置属性,因此它会显示另一个显示器上。最好用Load()事件完成,使用Screen类找出其他监视器所在的位置。例如:

protected override void OnLoad(EventArgs e) { 
     // Display on 2nd monitor, if available 
     if (Screen.AllScreens.Length >= 2) { 
      this.Location = Screen.AllScreens[1].WorkingArea.Location; 
     } 
     base.OnLoad(e); 
    } 

如果你打算显示在多台显示器一个窗口(它不是从问题明确):没有,的WinForms不会让你这样做。最近Raymond Chen blogged about引起的那种麻烦。

+0

从Raymond Chen的博客文章看来,这听起来像是可能的,这只是标准的Windows行为。很公平,但是,任何人都知道如何去做。当我尝试将表单的SIZE设置为比我放置的屏幕更大时,它会立即捕捉到单个屏幕的大小。 – DarinH 2012-04-12 23:34:46

+0

对,Raymond引导了Winforms行为,而没有关于它的博客。 – 2012-04-12 23:52:25

+0

很奇怪,但它看起来像在VS IDE中的行为有关。当我在IDE中运行应用程序时,窗体大小基本上与IDE所在的屏幕尺寸对齐。但是,当我编译和运行exe本身时,即使在整个虚拟屏幕上,表单的大小也可以任意大。哦,至少现在我知道了。 – DarinH 2012-04-14 04:44:27

相关问题