如何手动设置Windows窗体位置

时间:2015-07-14 08:29:06

标签: c#

我正在开发桌面应用程序,它使用不同的文本加载表单,条件是这样当我单击确定按钮时,它逐个显示表单中的文本

它工作得很好,但问题是我有多个屏幕,并说当我在当前屏幕上加载表单并单击确定它保持在主屏幕,这是好的,但说当我加载我的表单并将其拖动到下一个屏幕,然后单击确定它再次回到主屏幕但是我想让它留在另一个屏幕上...我把它拖到

这里是加载我的表单的代码行

if(Form1.ShowDialog(this) == DialogResult.OK)

//在这一行,每次我点击确定它会显示表格,但在主屏幕上,所以有任何解决方案,我可以控制位置,我的意思是新的位置,我把它放进去。

2 个答案:

答案 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;