我將任務欄停靠在左側,導致許多窗口在任務欄下方打開。什麼是正確的方式來創建Windows任務欄unobscured的窗體?
任何System.Windows.Form.FormStartPosition值都不考慮除手動以外的任務欄。這是設計嗎?這很令人沮喪。我想尊重操作系統應該執行的默認監視器和窗口位置值。
我將任務欄停靠在左側,導致許多窗口在任務欄下方打開。什麼是正確的方式來創建Windows任務欄unobscured的窗體?
任何System.Windows.Form.FormStartPosition值都不考慮除手動以外的任務欄。這是設計嗎?這很令人沮喪。我想尊重操作系統應該執行的默認監視器和窗口位置值。
那麼,如果WinForms沒有自動執行此操作,則可能需要手動進行設置。
您必須使用System.Windows.Forms.Screen.PrimaryScreen.WorkingArea來獲取沒有任務欄的屏幕區域,然後使用該Rectangle手動計算表單的啓動區域,並將其設置爲Form's Bounds屬性。 (確保窗體使用FormStartPosition.Manual)。
我認爲沒有.NET的方式來做到這一點。我看不出有這樣一個理由。
您可以找到taskbar position並手動放置您的表格。
我給的原因是不夠的?如果選中「將任務欄保留在其他窗口之上」,則窗口的默認開始位置應該尊重tasbkar。請參閱OS X. 另一種方法是查找上述首選項設置爲的內容,查找默認情況下應打開窗口的監視器,發現任務欄是否連接到窗口,如果是,則手動計算起始位置。 – 2009-05-18 22:18:45
請描述你的問題更多,這不是太清楚 – abatishchev 2009-05-18 21:54:16
我開始將我的礦井對接,因爲這太煩人了。源自CreateWindowEx API的「默認」位置永遠存在這個錯誤,並且可能永遠保留更多。 – 2009-10-10 21:24:33