Я должен добавить элемент управления Datagridview
во время выполнения 1 под другим на панели. как я могу достичь этого, чтобы я мог добавить местоположение управления 1 ниже другого, и как я могу обработать событие click, событие paint и ect. для всех datagridview.Как добавить массив элементов управления DatagridView на панели vb.net?
ответ
Просто сделать что-то вроде этого:
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
Привет, SysDragon, я сделал некоторые изменения в вашем коде и получил его работу ..! Благодарю. –
Привет, SysDragon, я добавил 10 datagridview 1 за другим. но это требует времени для рендеринга, поэтому он выглядит размытым, прокручивая среди них. Я добавил DoubleBuffered для каждого datagridview, но никакого эффекта для него не существует ...? –
Вы можете задать другой вопрос об опциях рендеринга. – SysDragon
Если у вас есть вопрос с 'vb.net' не использовать' 'C# тег. –
ohh.Okay. Благодаря..! –
Привет, syed mohsin, я получил эту ссылку в сети http://www.vbforums.com/showthread.php?662230-RESOLVED-How-to-create-a-DataGridView-control-array-at-runtime. поэтому я должен добавить datagridview 1 за другим на панели. –