我正在开发桌面应用程序,它使用不同的文本加载表单,条件是这样当我单击确定按钮时,它逐个显示表单中的文本
它工作得很好,但问题是我有多个屏幕,并说当我在当前屏幕上加载表单并单击确定它保持在主屏幕,这是好的,但说当我加载我的表单并将其拖动到下一个屏幕,然后单击确定它再次回到主屏幕但是我想让它留在另一个屏幕上...我把它拖到
这里是加载我的表单的代码行
if(Form1.ShowDialog(this) == DialogResult.OK)
//在这一行,每次我点击确定它会显示表格,但在主屏幕上,所以有任何解决方案,我可以控制位置,我的意思是新的位置,我把它放进去。
答案 0 :(得分:5)
您可以使用Form.Location
属性和Form.StartPosition
:
//将表单的起始位置设置为手动。
form1.StartPosition = FormStartPosition.Manual;
form1.Location = new Point(100, 100);
更多信息:
https://msdn.microsoft.com/en-us/library/aa984420(v=vs.71).aspx
https://msdn.microsoft.com/en-us/library/system.windows.forms.form.startposition(VS.80).aspx
答案 1 :(得分:1)
您需要先确定可用的屏幕,然后设置表单的位置。
var myScreen = Screen.FromControl(this);
var mySecondScreen= Screen.AllScreens.FirstOrDefault(s => !s.Equals(myScreen)) ?? myScreen;
form1.Left = mySecondScreen.Bounds.Left;
form1.Top = mySecondScreen.Bounds.Top;
form1.StartPosition = FormStartPosition.Manual;