C# 从右上角开始
我试图在屏幕的右上角开始一个表单的位置。但我也希望在程序运行的任何屏幕上执行此操作。那我该怎么做呢?我应该使用屏幕分辨率吗?这将使表单从屏幕的左上角开始C# 从右上角开始,c#,winforms,C#,Winforms,我试图在屏幕的右上角开始一个表单的位置。但我也希望在程序运行的任何屏幕上执行此操作。那我该怎么做呢?我应该使用屏幕分辨率吗?这将使表单从屏幕的左上角开始 Form form1 = new Form(); form1.StartPosition = FormStartPosition.Manual; form1.Location = new Point(0,0); // new Point(x position on screen, y position on screen) 请记住,您指定了表
Form form1 = new Form();
form1.StartPosition = FormStartPosition.Manual;
form1.Location = new Point(0,0); // new Point(x position on screen, y position on screen)
请记住,您指定了表单的左上角。所以只要我们努力计算,就能得到你想要的结果
这将是如何获得主屏幕的分辨率:
Rectangle resolution = Screen.PrimaryScreen.Bounds;
或者,您可以使用
Screen.AllScreens
属性获取所有屏幕的集合。这将使表单从屏幕的左上角开始
Form form1 = new Form();
form1.StartPosition = FormStartPosition.Manual;
form1.Location = new Point(0,0); // new Point(x position on screen, y position on screen)
请记住,您指定了表单的左上角。所以只要我们努力计算,就能得到你想要的结果
这将是如何获得主屏幕的分辨率:
Rectangle resolution = Screen.PrimaryScreen.Bounds;
或者,您可以使用Screen.AllScreens
属性获取所有屏幕的集合。尝试使用该属性遍历所有可用的屏幕
,以查找哪个屏幕位于表单的左上角,然后将表单位置设置为从Screen.Bounds.Right
创建的点
-表单宽度
和Screen.Bounds.Top
属性。不幸的是,我没有可用的双屏幕系统来验证它是否在主屏幕以外的屏幕上工作,所以请看看这样的系统是否适合您
public Form1()
{
InitializeComponent();
this.StartPosition = FormStartPosition.Manual;
foreach (var scrn in Screen.AllScreens)
{
if (scrn.Bounds.Contains(this.Location))
{
this.Location = new Point(scrn.Bounds.Right - this.Width, scrn.Bounds.Top);
return;
}
}
}
尝试使用该属性遍历所有可用的屏幕
,以找到表单的左上角点,然后将表单位置设置为从Screen.Bounds.Right
创建的点
-表单宽度
和Screen.Bounds.Top
属性。不幸的是,我没有可用的双屏幕系统来验证它是否在主屏幕以外的屏幕上工作,所以请看看这样的系统是否适合您
public Form1()
{
InitializeComponent();
this.StartPosition = FormStartPosition.Manual;
foreach (var scrn in Screen.AllScreens)
{
if (scrn.Bounds.Contains(this.Location))
{
this.Location = new Point(scrn.Bounds.Right - this.Width, scrn.Bounds.Top);
return;
}
}
}
这很奇怪,因为只有正确设置表单的位置,才能在指定的屏幕上运行表单?由于所有屏幕都使用相同的
坐标系
,只有一个屏幕的左上方
点位于(0,0)
这很奇怪,因为只有在正确设置表单的位置后,才能在指定屏幕上运行表单?因为所有屏幕都使用相同的坐标系
,所以只有一个屏幕的左上方
点位于(0,0)
但我正在寻找右上方。我如何知道在每个可能的屏幕大小/分辨率上右上角的位置?要使窗体的右侧与屏幕齐平,x位置将是(屏幕宽度-窗体宽度),y位置仍然是0。但我正在寻找右上角。我如何知道在每个可能的屏幕尺寸/分辨率上右上角的位置?要使窗体的右侧与屏幕齐平,x位置将是(屏幕宽度-窗体宽度),y仍然是0。