9

このフォームには、タブ コントロールとリストボックスが含まれています。

ここに画像の説明を入力

ウィンドウの高さを変更すると、次のようになります。

ここに画像の説明を入力

ただし、実際には、タブ コントロールとリスト ボックスのサイズを合わせて変更したかったので、次の結果が得られました。

ここに画像の説明を入力

フォーム内のある種のonResize()メソッドに応答するだけでこの効果を達成でき、独自の計算を行って、それに応じてタブ コントロールとリストボックスのサイズを手動で更新できると思います。

しかし、私は多くのアプリケーションがこの効果を達成するのを見てきました。そのため、実際にはもっと良い方法があるのではないかと思います。おそらく組み込み機能です。

この効果を達成するためのより良い方法を知っていますか?

4

9 に答える 9

12

これは、ドックおよびアンカー プロパティを使用してコンテナー フォーム コントロールのサイズを変更する際に、winform コントロールのサイズを変更する方法を説明する優れたチュートリアルです。

http://www.techrepublic.com/article/manage-winform-controls-using-the-anchor-and-dock-properties/6165908

アンカー プロパティの 4 つの値 (上、右、下、左) を設定すると、サイズが変更された場合でも、フォーム コントロールに対してコントロールの端を固定したままにすることができます。

于 2013-01-02T05:01:36.623 に答える
8

タブ コントロールのアンカー プロパティを使用できます。4 つの辺すべてを固定するだけです。

于 2013-01-02T04:53:44.730 に答える
1

Of Both Tab と listbox の Dock プロパティを使用して塗りつぶすことができます

于 2013-01-02T07:56:14.237 に答える
1

目的の結果を得るには、コントロールを標準サイズのフォームに配置します。次に、Anchor プロパティを使用して、上、下、左、右に移動します。これにより、コントロールが常に最小サイズに基づいてフォームに相対的に配置されるように指定できます。

IE: アンカー プロパティを上、下、左、右に設定すると、親のサイズに関係なく、コントロールの上、下、左、右の端が常に各端から同じ距離になるようになります。

コントロールをコントロール サーフェスの各エッジから特定の距離に配置する場合は、Anchor Top、Bottom、Left、Right を使用します。

コントロールの上端と左端を親の上端と左端から 8 ピクセルでロックする場合は、Anchor プロパティを Top に設定します。コントロールはサイズ変更されず、常に相対的に 8,8 に配置されます。

于 2014-11-25T17:41:25.800 に答える
0

Dockおよびプロパティを使用してAnchor、親/コンテナーのサイズが変更されたときにコンポーネント コントロールのサイズを変更する方法を制御します。

コントロールにコンテナを埋めるには、単純に

theControl.Dock = System.Windows.Forms.DockStyle.Fill

一部の余白を保持するには、Anchorプロパティを設定します

theControl.Anchor = CType((System.Windows.Forms.AnchorStyles.Top _
    Or System.Windows.Forms.AnchorStyles.Bottom _
    Or System.Windows.Forms.AnchorStyles.Left _
    Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)

プロパティツールウィンドウでこれらのプロパティを設定することもできます。

于 2013-01-02T08:14:15.770 に答える