2

SplitContainer で panel1 のサイズのみを調整する方法はありますか? Vertical SplitContainer があり、スプリッターを移動すると、最初のパネルのサイズを増減させたいのですが、2 番目のパネルのサイズを変更するのではなく、フォームのサイズを増減させたいと考えています。

フォームのサイズを増減するコードを作成しましたが、Panel2 もサイズを変更しているため、パネル全体が常に表示されるわけではありません。

独自のコンテナーを作成する必要がありますか?それとも SplitContainer で可能ですか?

パネル「MainPanel」を含むフォーム「MainWin」があります MainPanel には、SplitContainer「MainSplitContainer」が含まれています。Panel1 には TreeView が含まれており、Panel2 には TreeView で選択されている項目に基づいて表示される 3 つの Panel が含まれています。これらの 3 つのパネルを常に完全に表示したい (スプリッターの拡張を制限して、フォームが画面を超えて拡張できないようにする予定です)、これは可能ですか、それとも独自のコントロールを作成し、使用してサイズを調整する必要がありますか? MouseDown、MouseUp、および MouseMove イベント?

4

3 に答える 3

6

独自のフォームを作成する必要はありません: SplitContainer には次のプロパティがあります: "FixedPanel" SplitContainer を選択し、[レイアウト] セクションで [FixedPanel] を確認します (パネル レイアウトに応じて、幅または高さを一定に保ちたいパネルに設定します) )。

プログラム的に:

sc.FixedPanel = FixedPanel.Panel1; //Or Panel2

見る:

Splitcontainer、固定パネルの作成

SplitContainer の固定パネルの高さ

于 2010-10-05T14:21:44.997 に答える
0

SplitContainer でパネルの高さプロパティを設定することはできません。ただし、フォームで Resize イベントをキャプチャして、splitterDistance を設定することはできます。SplitContainer は、他のパネルを調整します。これは以下のコードの一部であり、フォームのサイズが変更されたときに Panel1 を同じサイズに保つことに成功しました。お役に立てれば

Private Sub frmApp_Resize(ByVal sender As System.Object, ByVal e As System.EventArgs) MyBase.Resize Me.SplitContainer1.SplitterDistance = 140 End Sub を処理します

于 2011-12-21T16:06:07.727 に答える
-1

私は自分のコントロールを作成することになりました。

于 2010-08-17T17:44:37.040 に答える