如何查找父表单名称? vb.net

时间:2018-01-15 11:53:56

标签: vb.net winforms visual-studio

我想在vb.net中输入父表单的名称。我来自哪里。

喜欢

`if parent-form.name = 'something' then
    do something.
else
   do something else.`

这不是MDI表格。

修改 我想要那样:

parentForm.vb:

chidform.showdialog()

在子格式中有textbox

childForm.vb:

if parentForm is parentForm1 than fill textbox.text = 2 
else fill textbox.text = 3 

你会理解我想要的东西。

1 个答案:

答案 0 :(得分:2)

假设:我假设这是一个MDI应用程序并且你想要阅读顶级父级的名称而工作,并且由于未知的原因你不能引用对表单的单例引用(例如,当前表格从库中运行。

我编写了一个扩展模式来获取顶级父级,因为MDI子窗口的直接父级是MDIClient而没有名称。

<Extension>
Public Function GetTopParent(currentControl As Control) As Control
    Dim parent As Control = Nothing

    Do While currentControl IsNot Nothing
        parent = If(currentControl.Parent, parent)
        currentControl = currentControl.Parent
    Loop

    Return parent
End Function

然后,当您需要父母的姓名时,您可以执行以下操作。

MessageBox.Show(Me.GetTopParent().Name) ' This just shows the name but you can do your comparison here.