如何确定运行我的应用程序的屏幕?
答案 0 :(得分:6)
这应该让你开始。在Form上获取一个Button和一个列表框,并将其放在Button_Click:
中listBox1.Items.Clear();
foreach (var screen in Screen.AllScreens)
{
listBox1.Items.Add(screen);
}
listBox1.SelectedItem = Screen.FromControl(this);
答案在最后一行,请记住Form也是一个控件。
答案 1 :(得分:1)
System.Windows.Forms.Screen类提供此功能。
例如:
屏幕s = Screen.FromPoint(p);
其中p是应用程序某处的Point(在屏幕坐标中)。
答案 2 :(得分:0)
这是一些未经测试的代码
Screen [] screens = Screen.AllScreens;
for(index = 0; index < screens.Length; index++) {
if (screens[index].Contains(this.Bounds))
return screens[index];
}
答案 3 :(得分:0)
看一下这些链接:
这些是在WinAPI中。可能有.NET多个监视器库/ api调用,但如果没有,您可以编写自己的。
答案 4 :(得分:0)
嗯,已经过去了很多年,它是公认的答案的派生词,但这对我有用。此方法是Form类的成员。 screen
变量包含调用该方法时窗体左上角所在的屏幕的属性。
private void ClsFormFoo_Load(object sender, EventArgs e)
{
Screen screen = Screen.FromControl(this);
}