2009-07-27 11 views
0

私はwinformsを使用して簡単なユーザーインターフェイスを設計しています。デザイナーでは、フォーム上にパネルがあり、実行時にパネルにdatagridviewコントロールを追加し、パネルを塗りつぶすようにdatagridviewのdockプロパティを 'Fill'に設定したいと考えています。実行時にパネル内のコントロールをWindowsフォームにドッキングする方法は?

私はこれを行うのに苦労して、コードを次のですが私のために働いていない。

Dim MyDataGridview as New DataGridView() 
MyDataGridView.Dock = DockStyle.Fill 
Me.MyPanel.Controls.Add(MyDataGridview) 

誰もが正しい方向に私を指す助けることができますか?

編集:漠然としているため

申し訳ありません - 私は、エラーを得ることはありませんが、DataGridViewのは表示されません。それはパネルの後ろに追加されるので、Panelがdatagridviewを隠していると思って、.SendToBack()および.BringToFront()メソッドを使ってみましたが、これはどちらもうまくいかないようです。いずれにしても、datagridviewはフォームに追加されているものの、パネル内にはドッキングされていないようです。

+1

あなたは、もう少し具体的な「私のために働いていない」程度だろうか? –

答えて

1

実際には、コードは機能するはずですが、カラムヘッダーなしの灰色の四角形等?

とにかく、次はもう少し信頼できるものでなければならない:

Dockプロパティを設定し
Dim MyDataGridview as New DataGridView() 
Me.MyPanel.Controls.Add(MyDataGridview) 
MyDataGridView.Dock = DockStyle.Fill 
MyDataGridView.Visible = True 
1

Zインデックスを変更するには、「BringToFront関数()」を呼び出してパネルにDataGridViewのを追加しました。

私はZ-インデックス部は、トリックを作るものであることを考える;)

0

これは私に起こっていたが、私は、パネルを追加:)後の容器の非中断レイアウトロジックを忘れていました。だから私は必要なすべてのだった:

Container.ResumeLayout() ' docking works now! 
0

はこれを試してみてください:

Dim MyDataGridview as New DataGridView() 
MyDataGridView.Parent = Me.MyPanel 
MyDataGridView.Dock = DockStyle.Fill 
MyDataGridView.Show 
関連する問題