在多个显示器上指定启动窗口/表单位置

时间:2011-01-10 21:51:58

标签: c#

我有两台显示器(两台显示器)连接到我的机器上,我注意到今天发生了一件奇怪的事情。我在我的主显示器上打开了一个资源管理器窗口和我编译的exe,当我双击它时,它在主显示屏(左侧监视器)中打开。但是,如果我按Enter键启动可执行文件,它将在辅助显示器(右侧监视器)中启动。初始形式的窗口状态最大化。有没有办法告诉C#在主显示屏中打开初始表单?

3 个答案:

答案 0 :(得分:6)

这应该可以解决问题:

[STAThread]
static void Main()
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);

    Form1 f = new Form1();
    f.StartPosition = FormStartPosition.Manual;
    f.Location = Screen.PrimaryScreen.Bounds.Location;

    Application.Run(f);
}

答案 1 :(得分:1)

答案 2 :(得分:0)

Screen[] myScreen = Screen.AllScreens;
this.Location = myScreen[0].WorkingArea.Location; // Primary Screen
this.Location = myScreen[1].WorkingArea.Location; // Secondary Screen