我有一个包含多个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
答案 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