当我尝试从MDI表单启动应用程序时,子表单不清爽?

时间:2010-12-01 22:23:35

标签: vb.net mdichild


我的应用程序中有MDI表单和子表单 我的情况......

主要表格:MDI表格
注册表格:MDI表格的孩子
设计形式:当我们点击注册表单上的一个按钮时,将打开另一个表格。

现在,如果我尝试从Desig表单刷新Register表单的组合框项目,那么它就不会令人耳目一新。即我无法在注册表格的组合框中看到我的新项目。

现在,当我尝试直接从Register表单启动我的应用程序时,相同的代码完美运行,但当我尝试从MDI表单启动应用程序时,相同的代码没有运行。

这是我的代码 MDI表格

Dim regform As New Register
StatusLabel.Text = "Opening Workman Registration"
regform.MdiParent = Me
regform.Show()
StatusLabel.Text = "Workman Registration"
regform.concombo.Focus()

注册表单

 Public Sub refreshCombo()
    desigcombo.Items.Clear()
    sitecombo.Items.Clear()

    addDesCombo() ' method which will loads all new data from database 

    desigcombo.Text = designame ' the string variable (designame)


End Sub

设计表格

Register.refreshCombo() ' will run when we will click on one button.

当我们使用MDI表格时,他们需要记住的任何事情 - 儿童表格吗?

1 个答案:

答案 0 :(得分:1)

当您从Desig刷新注册时,它可以在您从注册表启动应用程序时起作用,因为只有一个注册表单,VB会自动将其视为表单的实例。

当注册表单是子表单时,您需要使用表单的实例而不是类名,例如MainForm.ActiveMdiChild.refreshCombo()