我的应用程序中有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表格时,他们需要记住的任何事情 - 儿童表格吗?
答案 0 :(得分:1)
当您从Desig刷新注册时,它可以在您从注册表启动应用程序时起作用,因为只有一个注册表单,VB会自动将其视为表单的实例。
当注册表单是子表单时,您需要使用表单的实例而不是类名,例如MainForm.ActiveMdiChild.refreshCombo()