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

3

我有两个显示器连接到我的机器上,今天我注意到发生了一件奇怪的事情。我在主显示器上打开了一个带有编译后exe文件的资源管理器窗口,并且当我双击它时,它会在主显示器(左侧显示器)中打开。但是如果我按回车键启动可执行文件,则它会在辅助显示器(右侧显示器)中启动。初始窗体的窗口状态为最大化。有没有办法告诉C#在主显示器中打开初始窗体?


谢谢回答。有人知道按回车键和双击导致不同行为的原因吗? - JeffE
3个回答

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);
}


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

1
请在您的代码中添加一些解释。 - Partho63

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接