我有一个 C# 语言的 winforms 应用程序,有大约 10 个表单可供导航。
在所有这些设备上,我都将 StartPosition 设置为 CenterScreen,但我使用的是插入了第二个屏幕的笔记本电脑。
现在应用程序在我的一个屏幕上随机启动。此外,即使应用程序位于一个屏幕上,消息框也会在第二个屏幕上弹出。如何将应用程序设置为始终在主屏幕启动,在 Windows 中设置为“1”。
我还想将应用程序绑定(bind)到它所显示的屏幕,以便 MessageBox 会出现在与应用程序相同的屏幕上。我想要的另一件事是,新表单将显示在与以前的表单相同的位置,而不是返回到应用程序启动的屏幕。
我应该用什么来控制表单的位置?
我尝试将 StartPosition 更改为 CenterParent,但这似乎没有改变任何内容。
最佳答案
在起始页(第一种形式)上尝试一下:
private void MyForm_Load(object sender, EventArgs e)
{
this.Location = Screen.AllScreens[0].WorkingArea.Location;
this.StartPosition = FormStartPosition.CenterScreen;
}
更多信息请点击:Showing a Windows form on a secondary monitor?
这个问题是关于在辅助屏幕上显示程序的。如果您使用了该答案,只需将数组上的 1 索引
更改为 0
即可。
编辑:
只是为了强调Bryce Wagner其他人阅读此问题的评论:
If you're calling it from a form or user control, you'll want to call MessageBox.Show(this, "Message") instead.
关于c# - 在双屏设置上显示 Winforms,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57288060/