2011-11-06 79 views
1

我有一個奇怪的問題。我在c#和.net framework 3.5中設計了一個Windows窗體應用程序。在運行時,除了我的筆記本電腦,其中控件不在正確位置的所有計算機中的表單及其控件都很好。Windows窗體中的位移控件.net框架

如果我在我的筆記本電腦上正確定位從頭開始設計表單,則會導致其他計算機的形狀無效。

我的努力:

  • 如果我運行在安全模式中的Windows窗體大小和控制倉位 是正確的。
  • 我卸載了視頻驅動程序並使用了默認的Windows版本,但問題仍然存在。
  • 我使用了2.0和4.0等不同的框架,以及不同的Visual Studios版本,它們都有相同的問題。
  • 其實所有公司的所有.net框架產品都表明相同的問題。

我的電腦設置: 筆記本1557工作室DELL 圖形的ATI Radeon HD 4500

+0

可能的重複[我如何強制winforms應用程序使用我在每臺機器上指定的字體/字體大小?](http://stackoverflow.com/questions/3041081/how-can-i-force-a- winforms-app-to-use-the-fonts-fontsizes -i-specified-on-mac-mac) –

回答

1

當文字大小被人爲增加到125%時,文字和位置相當接近的控件將環繞表單並將所有內容向下/向上推送。如果這是您打算支持的內容,那麼您只需重新設計您的表單即可處理您所關心的支持的不同放大級別,並在應用中測試這些放大的文本模式,直到您對其外觀滿意爲止。這不是你可以嚴格控制的事情,因爲增加的文字大小是一種輔助功能。

1

我想這是由於屏幕分辨率的差異。我相信在兩種情況下控件的實際位置都是相同的,其中一個屏幕「更大」,因此您的控件出現在屏幕上的不同位置。

嘗試Designing forms to work on different resolutions and aspect ratios on Windows CE

另一件事,你可以(也應該)做的是與WPF,這是構建用戶界面的Windows新的工作方式。

+0

感謝您的回覆。其實解決方案是相同的,我發現我的Windows 7中的文本大小更大(125%),當我將它更改爲100%時,它現在工作正常。 – Barsham

1

我剛纔發現了一種解決方法。 在Windows 7的顯示設置中,我將文本大小從125%更改爲100%。一切都較小,但在準確的位置和大小。 仍然想知道它是如何工作的!

+0

當然,您只能將其固定在電腦上。您認爲客戶的計算機上字體大小爲125%會發生什麼? – LarsTech

+0

如果你可以檢查其他.netframework winform產品,他們仍然有這個問題。我認爲在這種情況下,解決方案是使用表單的控制器來維持運行時對象或使用WPF的縱橫比。 – Barsham