将Form定义为变量vb.net

时间:2016-07-26 14:12:24

标签: vb.net forms variables

如果要插入变量Form2,我使用它..

Dim Variable As New Form2

但如果我有两种形式的名字相同的功能,我会用if来做。

if 1 = 1 Then
     Dim Variable As New Form2
Else
     Dim Variable As New Form3
End If

这很好,但是如果我在下面的代码中开始使用这个变量,如果我在没有条件的情况下使用,一切都很好,在条件似乎理解该怎么做时使用会发生错误。

Variable.DataGridView1.Rows.Add(row)
  

对象引用未设置为对象的实例

1 个答案:

答案 0 :(得分:1)

您需要先声明变量,然后将其分配给特定类型:

Dim Variable As Form = Nothing
If 1 = 1 Then
   Variable = New Form2()
Else
   Variable = New Form3()
End If

但通常你会通过实现公共接口的每个表单以面向对象的方式执行此操作。

然后你可以这样做:

Dim Variable As IForm
If 1 = 1 Then
   Variable = New Form2() 'Form2 implements IForm
Else
   Variable = New Form3() 'Form3 implements IForm
End If