动态分配一个Form对象

时间:2018-12-04 07:16:34

标签: vb.net

我有3个共享通用代码的表单,这些代码在显示表单之前执行。我需要对所有3种表单使用相同的代码。
在运行时,我想为每个Form创建一个对象并将其分配给Form类对象。
我的代码:

If (NcCode = "HM1" Or NcCode = "HM2" Or NcCode = "HM3" Or NcCode = "HM4") Then
 Dim frmHandlingTime As New HandlingTime()
//some code goes here 
 ElseIf (NcCode = "ULL1" Or NcCode = "ULL2" Or NcCode = "ULL3" Or NcCode = "ULL4" Or NcCode = "ULL5" Or NcCode = "L1" Or NcCode = "L2") Then
  Dim frmHandlingTime As New HandlingTimeLabel()
//same above code goes here
end if

每个表格中都有一个Friend功能。我必须为每个条件重复相同的代码。我不想重复此代码,而是要初始化一个Form对象,将其分配给一个公共对象并调用所有公共代码:

Dim obj as Form
obj=new HandlingTimeLabel()
obj.InitHandlingTime(NcCode)

但这是不允许的。
obj.InitHandlingTime(NcCode)这一行会导致错误:

  

InitHandlingTime不是Form的成员。

此问题的任何投入都可以继续进行。

1 个答案:

答案 0 :(得分:0)

尝试一下:

Dim obj As HandlingTimeLabel
obj = new HandlingTimeLabel()
obj.InitHandlingTime(NcCode)

Form对象没有InitHandlingTime方法,因此您不能将obj声明为Form