6

自動化されたコントロールの生成と操作がたくさんある複雑なWindowsフォームGUIプログラムがあります。私ができる必要があることの1つは、新しく作成されたTabPageにカスタムUserControlを追加することです。ただし、コードでこれを行うと、自動サイズ変更イベントが発生し、フォーマットが見苦しくなります。関与する可能性のあるさまざまなコンテナのすべてを詳しく説明しなくても、基本的な問題は次のとおりです。

コードの特定の時点で、新しいタブページを作成します。

TabPage tempTabPage = new TabPage("A New Tab Page");

次に、維持したい特定のサイズに設定します。

tempTabPage.Width = 1008;
tempTabPage.Height = 621;

次に、それをTabControlに追加します。

tabControl.TabPages.Add(tempTabPage);

次に、新しく追加したTabPageに表示するユーザーコントロールを作成します。

CustomView customView = new CustomView("A new custom control");

ここで問題が発生します。この時点で、tempTabPageとcustomViewはどちらも同じサイズであり、パディングやマージンはありません。これらは私が望むサイズです。次に、この新しいカスタムUserControlを次のようにタブページに追加しようとします。

tempTabPage.Controls.Add(customView);

この呼び出しを行うと、customViewとその子コントロールのサイズが大きくなり、customViewの一部が非表示になります。

誰かが私に何を探すべきか、またはこの種の問題を引き起こしている可能性があるものについて何か指示を与えることができますか?

よろしくお願いします。

4

3 に答える 3

14

UserControl の "AutoScaleMode" プロパティは "None" に設定する必要があります。

于 2010-06-09T17:23:02.003 に答える
5

customViewを埋めたい場合TabPage

このように使用Dockします:

tempTabPage.Controls.Add(customView);
customView.Dock = DockStyle.Fill;

次に、customViewはのスペースを埋めますが、子コントロールが正しく表示されるようTabPageに、サイズ変更を処理する必要があります。customView

于 2010-04-28T22:48:50.557 に答える
0

同じ問題がありました。UserControl の「AutoScaleMode」を「None」に設定するとうまくいきます。

于 2014-08-13T12:48:00.603 に答える