如何在C#中找到运行应用程序的屏幕?
答
这应该让你开始。找一个按钮和一个窗体上的列表框,并把这个在Button_Click:
listBox1.Items.Clear();
foreach (var screen in Screen.AllScreens)
{
listBox1.Items.Add(screen);
}
listBox1.SelectedItem = Screen.FromControl(this);
答案就在最后一行,请记住形式是控制了。
答
嗯,我不认为有一个内置的方式来得到这个,但它不应该太难确定。使用Screen类查找所有屏幕,遍历该列表并将其边界与表单的位置进行比较。
下面是一些未经测试的代码
Screen [] screens = Screen.AllScreens;
for(index = 0; index < screens.Length; index++) {
if (screens[index].Contains(this.Bounds))
return screens[index];
}
+0
screens.Contains() - 你是什么后,如果是这样你不需要通过他们看... – cgreeno 2009-02-14 20:55:43
答
的System.Windows.Forms.Screen类提供此functionaility。
例如:
屏幕S = Screen.FromPoint(P);
其中p是应用程序某处的某个点(以屏幕坐标表示)。
答
在这些链接看看:
这些是WinAPI的。可能有.NET多监视器库/ API调用,但如果没有,用这些可以编写自己的。
+1的回答比我简单 – Bob 2009-02-14 20:55:33