2009-02-14 122 views

回答

6

這應該讓你開始。找一個按鈕和一個窗體上的列表框,並把這個在Button_Click:

listBox1.Items.Clear(); 
foreach (var screen in Screen.AllScreens) 
{ 
    listBox1.Items.Add(screen); 
} 
listBox1.SelectedItem = Screen.FromControl(this);    

答案就在最後一行,請記住形式是控制了。

+1

+1的回答比我簡單 – Bob 2009-02-14 20:55:33

0

嗯,我不認爲有一個內置的方式來得到這個,但它不應該太難確定。使用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

1

的System.Windows.Forms.Screen類提供此functionaility。

例如:

屏幕S = Screen.FromPoint(P);

其中p是應用程序某處的某個點(以屏幕座標表示)。

相關問題