2

メインフォームのコントロールとして動的に追加するユーザーコントロールがあります。Mainform は、下部に大きなステータス バーがあることを除いて、基本的に空です。

問題は、ユーザーコントロールに Dockstyle.Fill オプションを設定すると、ロードされたユーザーコントロールのサイズがステータスバーを超えて拡張されることです (ステータスバーが存在しないかのようにメインフォーム全体を埋めます)。

この動作を防ぐにはどうすればよいですか? これは、フォームを動的にロードする方法の例です

        logicForm = new LogicForm();
        this.Controls.Add(logicForm);
        logicForm.Dock = DockStyle.Fill;
4

2 に答える 2

0

DockStyle を None に設定し、代わりに Anchor プロパティを使用する必要があると思います。

アンカーを上、下、左、右に設定し、コントロールのサイズを変更して、ステータス バーまでのすべてのスペースを埋めます。

実行すると、ユーザー コントロールがフォームに合わせてサイズ変更されることがわかります。

于 2012-09-18T07:44:41.843 に答える
0

私はちょうど解決策を見つけました

メインフォームに他のコントロールが既にある場合は、フォームを適切にドッキングするためにフォームを前面に移動する必要があります。

logicForm.BringToFront();

ここにあります: http://dotnetref.blogspot.kr/2008/08/using-dock-fill-on-control-when-you.html

-________________________-

于 2012-09-18T08:08:16.307 に答える