2013-02-18 3 views
0

Я должен добавить элемент управления Datagridview во время выполнения 1 под другим на панели. как я могу достичь этого, чтобы я мог добавить местоположение управления 1 ниже другого, и как я могу обработать событие click, событие paint и ect. для всех datagridview.Как добавить массив элементов управления DatagridView на панели vb.net?

+0

Если у вас есть вопрос с 'vb.net' не использовать' 'C# тег. –

+0

ohh.Okay. Благодаря..! –

+0

Привет, syed mohsin, я получил эту ссылку в сети http://www.vbforums.com/showthread.php?662230-RESOLVED-How-to-create-a-DataGridView-control-array-at-runtime. поэтому я должен добавить datagridview 1 за другим на панели. –

ответ

1

Просто сделать что-то вроде этого:

Dim lastCtrl As Control 
Panel1.Add(AllDataGrids(0)) 

For i As Integer = 1 to AllDataGrids.Count - 1 
    Dim dgv As DataGridView = AllDataGrids(i) 

    lastCtrl = Panel1.Controls(Panel1.Controls.Count - 1) 
    Panel1.Add(dgv) 

    dgv.Top = lastCtrl.Top + LastCtrl.Height + 5 
Next 

Идея заключается в том, чтобы добавить каждый элемент управления после последнего, так что в цикле вы получите последнюю в том, как вы хотите, а затем добавить новый элемент управления на дне. Для того, чтобы иметь события, которые вы должны добавить их вручную для каждого DataGridView внутри цикла с:

AddHandler dgv.CellClick, AddressOf CellClickMethod 
+0

Привет, SysDragon, я сделал некоторые изменения в вашем коде и получил его работу ..! Благодарю. –

+0

Привет, SysDragon, я добавил 10 datagridview 1 за другим. но это требует времени для рендеринга, поэтому он выглядит размытым, прокручивая среди них. Я добавил DoubleBuffered для каждого datagridview, но никакого эффекта для него не существует ...? –

+0

Вы можете задать другой вопрос об опциях рендеринга. – SysDragon