2013-07-27 52 views
1

我正在使用的程序在一臺機器上呈現完美,而在另一臺機器上完全錯誤。C#Winforms自定義窗體在不同的機器上看起來不一樣

這裏是照片;

enter image description here enter image description here

正如你可以在第二圖片中看到,所有的控件都向左側偏移。 表單的右側部分爲空。還有一半左邊的小箭頭迷路了。

兩臺機器都有高端的Nvidia顯卡都有相同的DPI。

+0

您是否使用自定義控件?沒有任何代碼很難提供幫助... – aleroot

+0

是的。我將FormBorderStyle更改爲none,並添加各種圖片框給它一個自定義佈局。我會發布一些代碼,但它有點大,所以我甚至不知道要發佈什麼。我不明白的是爲什麼它在一臺機器上完美工作,而不是在另一臺機器上工作。 – user1778459

回答

1

有一對夫婦的可能原因是:

  1. 使用兩個不同的操作系統。 8和XP呈現完全不同的相同控件。
  2. 您正在使用不同的視覺樣式(一個是Aero,另一個是Classic)。
  3. 您沒有固定您的控件。錨定允許窗體上的控件根據窗口的大小動態佈局。
+0

感謝您的回答。兩臺機器都安裝了Windows 7,兩者都具有相同的視覺樣式(Aero)。我剛剛檢查了錨定,並且我的表單中的所有控件似乎都正確錨定。只是出於好奇,如果你在不同的操作系統上使用該程序並得到不同的結果,你會怎麼做? – user1778459

+0

對不起,延遲迴復;我直到今天才看到您的評論。你遇到的問題主要是由於WinForms。我已將大部分項目遷移到WPF,因爲它消除了WinForms所具有的大量佈局問題。但是,無論您使用的是什麼框架,都可能需要爲不同的操作系統硬編碼值。我知道這是一個醜陋的黑客,但在某些情況下,它是唯一的選擇。 –

相關問題