2011-12-15 21 views
0

Microsoft Visual Studioで単純なフォームを1つ設計したいのですが、DataGridViewとListViewが1つあります。メインフォームのサイズを変更すると、メインフォームのサイズとお互いのサイズに関連して、コンポーネントのサイズを変更する必要があります。コントローラのサイズ変更とサイズの関係

私はアンカープロパティを使用しますが、予想どおりに動作しませんでした。コントローラをすべての状況で並べて保持します。

以下の2つの画像からわかるように、私はウィンドウを最大化すると、DatagridviewとListViewの間にギャップがあります。これをどうすれば解決できますか? Image showing the gap that appears as the window is resized

答えて

2

Image showing the appropriate layout
は、あなたは彼らが常に同じ大きさを持つようにしたい場合は今

//control to the left, this will expand and take most space 
listview.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right 

//control to the right, this will keep it's size 
grid.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Right 

にあなたのグリッドのアンカーを設定する必要があります。 TableLayoutPanelを2列を50%に設定して追加し、listviewgridを追加します。 (TableLayoutPanelは展開されるようにアンカーする必要があります)

+0

私はあなたが設定したときに、それは、動作しませんでした1ということが、してみてください1つのコントローラーのためのすべてのAcnhorが大きくなり、2つに設定すると2つのサイズが奇妙になる場合 – Am1rr3zA

+0

各コンポーネントのアンカーがどのようにあるかを投稿できますか? –

+0

サイズはいつもですか? –

0

パネルを追加して、両方のコントロールを追加します。あなたが好きでない場合は、パネルの枠線を取り除きます。 パネルの角をすべて固定する コントロールを1つ選択し、ドックスタイルを左右に適切に設定し、もう一方のドックスタイルを塗りつぶしに設定します。

50/50に分割する場合は、 左のコントロールのアンカーを右パネルから右に設定します。 (およびそれぞれの上部と下部。

パネルにリサイズのEventHandlerを追加します。 は、2つのコントロールの幅をワークアウトし、それらを設定する。

関連する問題