如何将Form作为函数参数传递?

时间:2017-09-30 18:38:03

标签: vb.net

我有一个功能,它看起来像这样:

Integer x = 10; //auto-boxed as new Integer(10)
Integer y = x;
x++;
System.out.printf("%d", y.intValue());

我想将参数传递给函数的其余部分,所以如果我将其称为:

Function SpawnForm(Form)
    Dim Spawn As New Form With {.TopLevel = False, .AutoSize = False}
    Try
        Spawn.Dock = DockStyle.Fill
        MainForm.SpawnPanel.Controls.Add(Spawn)
        Spawn.Show()
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
    Return Nothing
End Function

然后它会在名为SettingsForm的项目中生成现有表单。

我知道问题是这样的:

SpawnForm(SettingsForm)

我应该以不同的方式传递参数?

1 个答案:

答案 0 :(得分:1)

您可以使用一些约束来创建泛型函数。这允许您将表单创建保留在方法内(而不是传递实例)。还要从函数返回实例。

Dim mySettingsForm = SpawnForm(Of SettingsForm)()

用法:

Treeview