none
在多显示器环境下,如何指定输出到哪一个显示器? RRS feed

答案

  • 通常是这样做的,在WPF里面用Winform的Screen类来获得所有的显示器,然后假如你要在第二个显示器中显示WPF window, 你可以先获得第二个显示器的范围坐标,然后来设置你的WPF Window的坐标, 即Left Top值 (别忘了 WindowStartupLocation="Manual"

    部分代码:

          System.Windows.Forms.Screen[] sc;
          sc = System.Windows.Forms.Screen.AllScreens; //get all the screen width and heights 
          Window win = new Window();
          win.Left = sc[1].Bounds.Width;
          win.Top = sc[1].Bounds.Height;
          win.WindowStartupLocation = System.Windows.WindowStartupLocation.Manual;
          win.Show(); 


    Best day, Best life
    2011年3月16日 17:39

全部回复

  • 这是WPF论坛,WPF仅仅是一种Presentation技术,对于你的问题我觉得你应该到你与你问题相关的论坛进行提问。

    另一方面,如果你要指定输出到哪一个显示器上,你有两个方法。

    第一个就是调用系统API去指定一个显示器,比如这SetDisplayConfig APIhttp://msdn.microsoft.com/en-us/library/ff539598(VS.85).aspx

    第二个方法就是用其他软件进行控制,这个能方便些,但是本质还是调用了底层的API。

    我强烈建议你,如果你得到你想要的回复了,请标记为答复。

    如果没有得到你想要的回复, 你最好关闭这个帖子,然后到其他论坛进行提问,这样你才能得到更好更详细的回复。


    Stay hungry, stay foolish
    2011年3月16日 12:28
  • 通常是这样做的,在WPF里面用Winform的Screen类来获得所有的显示器,然后假如你要在第二个显示器中显示WPF window, 你可以先获得第二个显示器的范围坐标,然后来设置你的WPF Window的坐标, 即Left Top值 (别忘了 WindowStartupLocation="Manual"

    部分代码:

          System.Windows.Forms.Screen[] sc;
          sc = System.Windows.Forms.Screen.AllScreens; //get all the screen width and heights 
          Window win = new Window();
          win.Left = sc[1].Bounds.Width;
          win.Top = sc[1].Bounds.Height;
          win.WindowStartupLocation = System.Windows.WindowStartupLocation.Manual;
          win.Show(); 


    Best day, Best life
    2011年3月16日 17:39
  • Hi zhangzq71,

    由于你没有进一步提供你问题状态的信息,我将关闭你的帖子为“已解决”,如果对于这个帖子的问题你有新的发现, 请给我恢复。

     

    Best regards,


    Sheldon _Xiao[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年3月22日 13:16
    版主