如何处理循环中编程工具的事件



我正在创建一个形式构建器,该构建器可创建多个选项卡,并且在每个选项卡上都会将dataGridView链接到数据集数组中的数据集:

For Each table As DataTable In datasetInput(i).Tables
    If arr_tables(i)(j).Equals(table.TableName) Then
        tablename = table.TableName
        Dim grid As New DataGridView
        grid.DataSource = table
        grid.Name = j
        grid.Location = place
        grid.Size = New System.Drawing.Size(734, 150)
        TabPage.TabPages(i).Controls.Add(grid)
    End If
Next

请注意,该循环嵌套在另一个循环中,该循环处理表单上的每个选项卡。arr_tables是一个锯齿状的数组,可以处理我想要的数据集中的哪些表

现在我需要做的是格式化任何属于名称"方程式"列的单元格。对于"方程式"列中的所有单元格,我想成为一个有几个不同选项的下拉单元格。其次,如何处理单击事件?说我想提供一个消息框中的任何单元格"输入"。

通常,如果数据不是在循环中创建的,那么我不会做这些事情。但是因为他们是在代码中迷失的,我不知道如何引用它们。

谢谢!

尝试以下:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    For Each table As DataTable In datasetInput(i).Tables
        If arr_tables(i)(j).Equals(table.TableName) Then
            tablename = table.TableName
            Dim grid As New DataGridView
            grid.DataSource = table
            grid.Name = j
            grid.Location = place
            grid.Size = New System.Drawing.Size(734, 150)
            TabPage.TabPages(i).Controls.Add(grid)
            AddHandler grid.SelectionChanged, AddressOf grid_SelectionChanged
        End If
    Next
End Sub
Private Sub grid_SelectionChanged(sender As Object, e As EventArgs)
    ' your code
End Sub

最新更新