2012-03-01 15 views
0

まず、私のプロジェクトフォーム.NET 3.5を最近4.0にアップグレードしました。私は問題はなかった。.NETバージョンのアップグレード時のフォーム表示のバグと編集フォーム

しかし、私はいくつかの変更を加えました。結果は、Visual Studio 2010をインストールしていないすべてのコンピュータで表示されるフォームが悪いことです。.NET 4.0があります。

私は一つだけ、ボタンやデザイナー2つの他のものに変更を追加する必要があります。

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

<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> 

とペアを行きます

は.Designer.csに表示されます。InitializeComponent()

これを元に戻すと、すべてのコンピュータでOKというコードフォームが表示されます。フォームを残すと、多くの子コントロールがなくなり、ほとんどのものが画面外に抜け落ちてしまいますが、VS2010を持たないコンピュータでのみ表示されます。これを修正する方法と、VS2010をコンピュータにインストールした状態でこれをどのように接続しますか?

+0

「悪い」とはどういう意味ですか?エラーなどありますか? – Richard

+0

@リチャード多くのコントロールは可視領域外にあるように表示されません。レイアウトに問題があります。ウィンドウのサイズがフォームのサイズと異なる場合、フォームの下部と右側に近いすべてのコントロールがありません。 – watbywbarif

+0

フォームのサイズが変更されましたか?その場合は、アンカーになる可能性があります – Bridge

答えて

2

これは、DPIの問題のように聞こえます。 PC(たとえば120dpi)は、他のPCのDPI(たとえば96dpi)とは異なります。

アプリケーションで異なるDPIをサポートするつもりがない場合は、目的のDPI解像度(通常は96dpi)に設定されたPCでコードを開発するようにしてください。

さまざまなDPI解像度をサポートしたい場合は、Form.AutoScaleModeが適しています。 StackOverflowには、DPIの問題と解決策に関するリソースもあります。

幸運。

+0

Thx。 .resxファイルにVersion = 2.0.0.0が入っていれば、すべてがOKであるというのはとても面白いです。フォームとデザイナーのバージョンを4.0.0に変更したときにだけ厄介なことになります。0になり、他の行はほとんど追加されません。私はバージョン2.0.0.0に固執します。 – watbywbarif

関連する問題