4

1つのWindowsフォームファイルがあり、Visual Studioで開くたびに、デザイナーファイル内のコントロールのサイズが大きくなります。フォームを保存し、エディターで閉じてからもう一度開くと、コントロールはすべて以前より少し大きくなります。コントロールのサイズプロパティがすべてデザイナーファイル内で増加していることがわかります。

誰かがこの動作を修正する方法を私に説明できますか?

4

3 に答える 3

3

通常の1280x800のラップトップと比較してHD解像度のラップトップを搭載したWindows8で実行すると、VisualStudioで問題が発生しました。

HDラップトップの新規インストールでのWindowsのデフォルトは、Windowsプログラムのフォントサイズを25%増やすことでした。

[画面の解像度]->[テキストまたはその他のアイテムを拡大または縮小]->[すべてのディスプレイに1つのスケーリングレベルを選択させてください]を選択して、設定を確認します。私の場合は125%です。

Visual Studioは、上記の設定に基づいてフォームを設定したり、AutoScaleMode設定を制御したりしているようです。

フォームデザイナの場合:低解像度のラップトップの場合this.AutoScaleDimensions = new System.Drawing.SizeF(6F、13F);

こんにちはresthis.AutoScaleDimensions= new System.Drawing.SizeF(7F、16F);

于 2014-04-01T00:15:01.667 に答える
2

私のコメントを詳しく説明すると、デザイナーがフォームをロード/保存すると、フォームのパブリックプロパティとフォームのコントロールのゲッター/セッターが呼び出されます。

これは、フォームのプロパティをオーバーライドし、そのプロパティにアクセス/設定するとコントロールのサイズが変更されるという副作用がある場合、そのサイズ調整がデザイナーに反映されることを意味します。次に、フォームを保存すると、その新しいサイズがデザイナーが生成したコードに保持されます。フォームを再度開くたびに、この調整が行われます。

これは、デザイナーが生成したコード内で設定されているプロパティのイベントハンドラーにも適用されます。

于 2012-06-22T18:42:17.870 に答える
0

コントロールをロックするだけで、誤って移動したりサイズを変更したりできなくなります。

フォームデザイナを開いて右クリックし、コンテキストメニューから[コントロールのロック]を選択します。

ここに画像の説明を入力してください

Visual Studioがそれらを自動的にサイズ変更する理由については、推測するしかありません。

于 2012-06-22T18:38:40.590 に答える