我想在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
你会理解我想要的东西。
答案 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.