在对话框表单之间传递数据

时间:2014-07-19 13:46:39

标签: vb.net

我想将数据从我的FrmArmy传递给FrmMain,我使用登录表单打开FrmMain ..

Me.Hide
Dim FMain As New FrmMain
FMain.ShowDialog()

然后我从FrmMain打开FrmArmy ..

Dim FArmy As New FrmArmy
FArmy.ShowDialog()
BtnArmy.Enabled = False

我想要的是......如何将FrmMain中的BtnArmy改为

BtnArmy.Enabled = True
当FrmArmy关闭时

此守则不起作用..

FrmMain.BtnArmy.Enabled = True

感谢。

1 个答案:

答案 0 :(得分:0)

FrmMain是一个类,您需要在实例FMain

上禁用它
Dim FArmy As New FrmArmy
Me.BtnArmy.Enabled = False      ' disable on show
FArmy.ShowDialog()
Me.BtnArmy.Enabled = True       ' reenable after it hides (?)

我们没有上下文,我认为这是在Button Click事件中。这可能不需要,因为无论如何,当对话框打开时,他们无法点击其他表单上的内容。

但是你有另一个问题:对话框是不会自动处理的资源。如果这些被大量调用,你可能会泄漏资源:

Using fArmy As New FrmArmy
    Me.BtnArmy.Enabled = False      ' disable on show
    FArmy.ShowDialog()
    Me.BtnArmy.Enabled = True       ' reenable after it hides (?)
End Using           ' auto dispose of Dialog