代码之家  ›  专栏  ›  技术社区  ›  Mike Bruno

VB。NET-是否可以将对WinForm控件对象的引用发送到子例程?

  •  0
  • Mike Bruno  · 技术社区  · 6 年前

    我有一个WinForm,它包含几个数据网格(所有数据网格都具有相同的列名和列计数)。我希望有一个子例程,它可以操作类中任何DataGridView对象中的数据。

    要实现这一点,是否有方法将对WinForm对象的引用传递给VB。NET子程序?

    这是我当前的代码。在本例中,直接访问DataGridView对象(dgvServersServices),而不是作为变量传入:

    Private Sub populate_data_grid(system_name As String, system_type As String)
        dgvServers.Rows.Clear()
        dgvServers.Rows.Add(New String() {system_name, system_type})
        dgvServers.AutoResizeColumns()
        dgvServers.CommitEdit(DataGridViewDataErrorContexts.CurrentCellChange)
    
    End Sub
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   Mike Bruno    6 年前

    谢谢大家的评论。我在VB中学会了这一点。NET中,对象参数会自动传递给子例程作为引用,因此该参数可以表示该对象类型的任何现有和可访问的实例。

    以下是工作代码:

    Private Sub populate_data_grid(system_name As String, 
                                   system_type As String, 
                                   dgv As DataGridView)
        dgv.Rows.Clear()
        dgv.Rows.Add(New String() {system_name, system_type})
        dgv.AutoResizeColumns()
        dgv.CommitEdit(DataGridViewDataErrorContexts.CurrentCellChange)
    End Sub