我想詳細說明整個表單在屏幕上是否可見。爲了澄清這一點:我不在乎表單是部分還是完全被另一個表單隱藏,我只想知道,如果表單完全在屏幕上。檢查表單是否在所有屏幕的邊界
在Windows中,可以移動窗體,使其隱藏一半。這是因爲你可以將它們移動到任何顯示器的實際邊界之外。 (進一步向左,向右或向下)。如何以簡單的方式檢查是否屬於這種情況?
我想我可以做的是檢查表單是否在SystemInformation.VirtualScreen
的範圍內。這裏的問題是,虛擬屏幕的每個像素都不是真正可見的。當然,這將工作,如果SystemInformation.MonitorCount = 1
仍然我不是很滿意這一點。
好吧,我只需要在這裏構建一個不起眼的例子。想象一下,三臺顯示器相互對齊,每臺寬800px。顯示器1和3高600px,顯示器2(中間一個)高400px。虛擬屏幕的房地產將是1800px * 600px。如果顯示器2將在其他顯示器的頂部對齊,則虛擬屏幕底部將會有200px,這是不可見的。現在我可以跨越顯示器1到顯示器3的一個窗口,整個窗體將不可見,顯示器2上的底部將被遺漏。 –
那麼,您需要編寫更多的代碼來處理這種情況。祝你好運。 –
我知道,這只是一個非常構建的例子。我希望它永遠不會這樣。 –