2012-03-01 49 views
0

首先,我最近將.NET 3.5的項目升級到4.0。我沒有問題。當升級.NET版本和編輯表單時,表單顯示中的錯誤

但現在我已經做了一些改變和後果是形式顯示壞上沒有安裝Visual Studio 2010中他們有.NET 4.0的所有計算機,否則我無法運行該程序。

我只需要添加一個按鈕,設計師改變其他兩件事情:

<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 

去(在.resx文件)

<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 

而且對像:

((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit(); 
    ... 
    ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).EndInit(); 

出現在了.Designer.cs的InitializeComponent()

如果我恢復這個變化以代碼的形式顯示OK在所有計算機上,如果我離開他們的形式缺少許多子控件,它像接縫大多溜出屏幕,但只有那些沒有VS2010的計算機上。如何解決這個問題,以及如何在計算機上安裝VS2010連接?

+0

你是什麼意思的「顯示錯誤」:一個錯誤或別的什麼? – Richard 2012-03-01 14:49:41

+0

@Richard許多控件不可見,就像它們超出可見區域一樣。佈局中有些東西是不好的,像窗口大小不同於窗體大小,然後所有靠近窗體底部和右側的控件都丟失了。 – watbywbarif 2012-03-01 14:53:16

+0

表格是否改變了大小?如果是這樣,它可能會錨定 – Bridge 2012-03-01 15:19:45

回答

2

這聽起來像一個DPI問題,即DPI上您的開發。 PC(例如120dpi)與其他PC上的DPI(例如96dpi)不同。

如果不這樣做的意圖,以支持不同的DPI在您的應用程序,則只需確保您開發被設定爲目標DPI的分辨率(通常96DPI)在PC上你的代碼。

如果你想支持多種DPI的分辨率,然後Form.AutoScaleMode將是一個良好的開端。 StackOverflow還充滿了關於DPI問題和解決方案的資源。

祝你好運。

+0

Thx。在.resx文件中,當Version = 2.0.0.0時,一切正常。只有當我編輯窗體和設計器更改版本到4.0.0時,情況纔會變得混亂。0並添加了其他幾行。我現在將堅持使用2.0.0.0版本。 – watbywbarif 2012-03-05 08:50:35