2012-10-16 43 views
1

我正在使用Windows窗體項目。在這個項目中,控件的大小在設計器中設置,關閉autosize。然而,當Windows 7中的顯示設置設置爲中(125%)大(150%)時,控件更改大小。我怎樣才能防止這種行爲?顯示設置更改時Windows窗體控件的大小更改

回答

0

對控件使用Anchor和Dock屬性。

4

很可能你可能通過將表單的AutoScaleMode property設置爲AutoScaleMode.None來關閉此行爲。

也就是說,不要只是關閉自動縮放,因爲它很可能是一件好事!它使您的表單可以在各種分辨率和字體比例設置下工作。例如,如果您設計了表單,但忘記了視力受損的用戶(例如,將系統字體縮放比例提高到異常高的百分比的用戶),則可能是由於自動縮放,表單可能仍然有效。

作爲其他的答案提示,代替固定的像素值來確定各控制的位置和大小,然後關閉自動縮放的,使用自動佈局技術:

  • 內把控制用於排列控制的各種容器元件(網格– TableLayoutPanel,一個接一個的— FlowLayoutPanel等);
  • 設置每個控件的DockAnchor屬性;
  • 設置每個控件的AutoSizeAutoSizeMode屬性。

正確地做到這一點需要一些練習,但會使表單的佈局更健壯。

+0

我同意設置AutoScaleModeDpi,但是這是一個遊戲鍵盤遊戲。沒有什麼花哨,當然也不是我得到的報酬。所以在這個愛好項目關閉AutoScaleMode肯定是要走的路:) – Pedery

+0

好吧,對不起長時間的演講。 (雖然我仍然認爲自動佈局不是那*看上去...... :) – stakx

+0

提示:http://msdn.microsoft.com/en-us/library/system.windows.forms.containercontrol.autoscalemode.aspx – Pedery

0

你的用戶控件或窗體

相關問題