2016-03-14 60 views
0

我正在爲我的Winforms應用程序編寫窗口定位算法。我將要定位的窗口尺寸都是相同的,並且不能調整大小。獲取窗口的設計大小而不實例化

邏輯要求我知道窗口的大小。我希望能夠訪問我的窗口類的設計大小。換句話說,我正在尋找類似於Window類的靜態成員或方法的東西,它會告訴我窗口的設計大小。

我知道我可以創建自己的靜態成員/方法來報告硬編碼的值,但我希望它自動生成,因爲如果我以後使用VS設計器來調整窗口大小,我不想必須記得回去並更新硬編碼值。

我也知道我可以暫時創建一個窗口的實例並獲得它的實際大小,但這對我來說就像是一個kluge。

還有其他的選擇嗎?

+0

您是否嘗試過任何Win32 API? –

+0

你只是不能,實際的窗口大小將取決於用戶所做的主題選擇,如窗口標題欄中字體的大小。最重要的是視頻適配器的DPI設置,這些日子裏很多用戶都在改變。雞蛋*已經*來到雞前面,您必須創建窗口來了解雞的大小。 Load事件是您可以找到的第一個地方。 –

回答

2

您有兩種選擇。

您可以實例化表單並檢查值。或者你解析源文件並從那裏讀取值。

這兩個選項都假定您不是在運行時以編程方式更改表單的大小。

最簡單的就是實例化表單。這不是一個混亂。這是獲取對象實例屬性的唯一方法。

只要記得在表格中填入.Dispose()即可。