2011-06-06 206 views
2

我的VB.NET winform应用程序中有3个DataGridView控件的代码如下。我怎样才能简化这段代码?如何在VB.NET中简化此代码

With DataGridView1 
     .Columns.Add("Column 0", "TaskName") 
     .AutoResizeColumns() 
    End With 

    With DataGridView2 
     .Columns.Add("Column 0", "TaskName") 
     .AutoResizeColumns() 
    End With 

    With DataGridView3 
     .Columns.Add("Column 0", "TaskName") 
     .AutoResizeColumns() 
    End With 

回答

4

你能;

For Each o As DataGridView In New DataGridView() {DataGridView1, DataGridView2, DataGridView3} 
    o.Columns.Add("Column 0", "TaskName") 
    o.AutoResizeColumns() 
Next 
+1

甚至更​​短:对于DataGridView中的每个DataGridView {DataGridView1,DataGridView2,DataGridView3} – 2011-06-06 13:55:13

4

道歉,如果这不是有效的VB.Net:

AddColumn(DataGridView1) 
AddColumn(DataGridView2) 
AddColumn(DataGridView3) 

Private Sub AddColumn(ByVal dgv As DataGridView) 
    dgv.Columns.Add("Column 0", "TaskName") 
    dgv.AutoResizeColumns() 
End Sub 
+0

你可以进一步重构这个小组通过列名,任务名传递作为参数。 – knslyr 2011-06-06 14:57:42

0
Public NotInheritable Class GridViewHelper 

Public Shared Function BuildDataGridView(view as DataGridView) as DataGridView 
With View 
    .Columns.Add("Column 0", "TaskName") 
    .AutoResizeColumns() 
End With 
Return view 
End Function 

End Class 

当然,你可以添加TryCast()等,以确保正确的对象在等