1

開発中のプログラムについて質問があります。私の投稿がはっきりと読めない場合は申し訳ありませんが、初心者のプログラミング完璧主義者として、すべてをできるだけ明確に説明しようとしています.

私は 2 つの別々のパネルを持つ frmMain.vb という Windows フォームを持っています。1 つは sidebarPanel と呼ばれ、もう 1 つは mainPanel と呼ばれます。

http://i.stack.imgur.com/Zs2lt.png

実行時のフォームは次のようになります。このトピックに収まるように画面を縮小しました。実際のサイズは、frmMain_Load の次のコードで 900、600 です。

Me.Size = New Size(900, 600)

http://i.stack.imgur.com/gdA3z.png

これで、次のコードが作成されました。

With sidebarPanel
    .Top = 0
    .Left = 0
    .Width = 200
    .Height = 300
End With

With mainPanel
    .Top = 0
    .Left = 200
    .Width = 200
    .Height = 300
End With

サイドバーがどのように青いのか疑問に思っている方のために説明すると、その部分は dll から来ており、この質問を簡単にするために省略したコードの部分です。ソース コードをよく見ると、サイドバーの幅が 200 で、メインパネルの開始幅が左から 200 であることがわかります。

邪魔にならないように。答えを知りたいのですが、これらの質問についてStackoverflow、Google、およびいくつかのVB.NETフォーラムを検索しましたが、私は一匹狼のようです。

サイドバーをフォームの 100% の高さにするにはどうすればよいですか。サイズを変更すると、サイドバーの高さも変わります。同じ質問がメインパネルにも当てはまります。

読んでくれてありがとう、そしておもてなしと答えに感謝します。

4

2 に答える 2

2

パネルResizeのプロパティを に設定することにより、フォームのイベントで手動で行うことができますが、設計時にすべて行う方が簡単です。 HeightMe.ClientSize.Height

これを行うには、フォーム デザイナーで、最初にパネルを配置してサイズを変更し、現在のフォーム サイズに合わせて配置したい場所に配置してから、Dock両方のプロパティを適切に設定します。サイド パネルのDockプロパティを Top、Left、Bottom に設定します。おそらく、メイン パネルのDockプロパティを上、下、左、右 (4 辺すべて) に設定する必要があります。Dock プロパティが適切に設定されている場合、フォームのサイズが変更されると、コントロールは自動的にサイズ変更されます。

プロパティを設定しDockたら、デザイナーでフォームのサイズを変更してテストできます。

于 2012-12-02T12:40:19.817 に答える
1

コントロールを使用する方が簡単な場合がありますSplitContainer

より複雑なコントロールレイアウトの場合は、を使用しTableLayoutPanelてコントロールを配置できます。TableLayoutPanel.Dockプロパティをに設定してから、内の各コントロールFillのプロパティを設定します。(設計時)右上に小さな矢印があり、行と列の高さと幅を指定できます。.AnchorTableLayoutPanelTableLayoutPanel

于 2012-12-03T00:49:00.317 に答える