2016-08-30 133 views
-1
版本

我想提出一個桌面應用程序,當我使用它在我的電腦能正常工作,看起來像這樣之間的控制C#大小不一致:的Visual Studio 2015年Windows窗體

https://i.gyazo.com/1c152aed25bee8a595dfa062db7277de.png

但是當我共享與另一位朋友的程序,它看起來像這樣:

https://dl.dropbox.com/s/wdw39s3p9zeajeu/Captura%20de%20pantalla%202016-08-30%2014.38.14.png

爲什麼它的發生?我該如何解決它?

我使用win10和.Net 4.6.2,我的朋友使用win 8或win 7和.net 4.5或4.6.2,我將項目配置爲與win 8和.Net 4.5兼容(visual studio 2015 does not可以選擇與win 7兼容)。

+0

看看:[Windows窗體佈局](https://msdn.microsoft.com/en-us/library/ms951306.aspx)或這一個:[Windows窗體控件中的佈局](https:// msdn.microsoft.com/en-us/library/ms229674(v=vs.110).aspx) –

+2

看看機器的字體縮放。如果一臺機器設置爲100%,另一臺機器設置爲125/150%,則看起來不一樣。根據您的控件佈局方式,您可能會看到一些奇怪的現象。您需要正確設置您的應用程序的表單/控件AutoScaleMode,以便正確縮放。即使那樣,你可能會看到一些奇怪的東西。你有沒有考慮過WPF?我認爲WPF比WinForm更好。您可能不得不逐步解決各個控制問題以解決擴展問題。這又取決於你如何佈置你的控件。 – Tom

+0

除了@ TomA對AutoScaleMode的評論(我推薦DPI或無)之外,還要將您的應用程序配置爲DPI Aware。點擊,項目菜單 - >添加新項目 - >常規 - >應用程序清單文件。在文件結尾處,您將看到一個標籤''。取消註釋該標籤將該應用程序聲明爲dpiAware。 – TnTinMn

回答

0

我注意到不同的機器字體大小有些不可思議,這不利於如何佈局。

首先要檢查您的窗體和所有UserControls,確保它們的AutoScaleMode設置爲Font。

如果那樣不能解決問題,請嘗試在其構造函數中設置窗體或用戶控件的字體大小,特別是如果您未使用默認字體。我會繼續尋找引導我進入的StackOverflow答案,但值得嘗試。有幫助的原因是自動縮放發生在字體大小設置之前。如果您查看designer.cs文件,則會看到在發生任何縮放後設置的字體大小。

HTH。

0
  1. 設置FormAutoScaleMode爲無
  2. 設置FormFormBorderStyleFixedSingle
  3. 作爲額外的檢查,檢查是否Anchor屬性設置爲LeftTop的控制。

HTH。