VB.NET - 我可以将WinForm控件对象的引用发送到子例程吗?

时间:2018-04-09 19:31:07

标签: vb.net forms datagridview datagrid

我有一个包含多个DataGrids的WinForm(所有DataGrids都具有相同的列名和列数)。我想有一个子程序可以操作我班级中任何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 个答案:

答案 0 :(得分:0)

感谢大家的评论。我了解到在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