表格在所有屏幕的最左边?

时间:2013-10-29 06:58:40

标签: c# winforms screen desktop

我正在使用2个屏幕,正确屏幕是我的主要屏幕。有些人用主屏幕反过来做。 如何让我的表单显示在所有可用屏幕的最左侧?

我可以在我的系统上说Location = new Point(-1920, 0);并且它很好,但在其他系统中,表单可能在桌面区域之外,并且无法通过鼠标访问。

// my system
Location = new Point(-1920, 0); // very left

// other systems
Location = new Point(0, 0); // very left

2 个答案:

答案 0 :(得分:0)

无论如何,您总是可以使用此代码从所有屏幕中获取most left

int mostLeft = Screen.AllScreens.Min(s=>s.Bounds.Left);
//do the same for the most top
int mostTop = Screen.AllScreens.Min(s=>s.Bounds.Top);

答案 1 :(得分:0)

首先,你必须确定最左边的屏幕。之后,您可以使用此屏幕的Bounds属性来获取所需的位置。

使用以下代码:

var leftMostScreen = Screen.AllScreens.OrderBy(s => s.Bounds.Left).First();
var leftMostLocation = leftMostScreen.Bounds.Location;