2009-05-18 48 views
6

我將任務欄停靠在左側,導致許多窗口在任務欄下方打開。什麼是正確的方式來創建Windows任務欄unobscured的窗體?

任何System.Windows.Form.FormStartPosition值都不考慮除手動以外的任務欄。這是設計嗎?這很令人沮喪。我想尊重操作系統應該執行的默認監視器和窗口位置值。

+0

請描述你的問題更多,這不是太清楚 – abatishchev 2009-05-18 21:54:16

+0

我開始將我的礦井對接,因爲這太煩人了。源自CreateWindowEx API的「默認」位置永遠存在這個錯誤,並且可能永遠保留更多。 – 2009-10-10 21:24:33

回答

5

那麼,如果WinForms沒有自動執行此操作,則可能需要手動進行設置。

您必須使用System.Windows.Forms.Screen.PrimaryScreen.WorkingArea來獲取沒有任務欄的屏幕區域,然後使用該Rectangle手動計算表單的啓動區域,並將其設置爲Form's Bounds屬性。 (確保窗體使用FormStartPosition.Manual)。

1

我認爲沒有.NET的方式來做到這一點。我看不出有這樣一個理由。

您可以找到taskbar position並手動放置您的表格。

+2

我給的原因是不夠的?如果選中「將任務欄保留在其他窗口之上」,則窗口的默認開始位置應該尊重tasbkar。請參閱OS X. 另一種方法是查找上述首選項設置爲的內容,查找默認情況下應打開窗口的監視器,發現任務欄是否連接到窗口,如果是,則手動計算起始位置。 – 2009-05-18 22:18:45

相關問題