2017-08-17 65 views
0

我有一个MDI窗口应用程序。 用户有能力修改控制属性(例如颜色)。每个MDI子表单都包含一个名为ApplyMyUserProfile的子集,用于设置颜色。在所有打开的MDIChild窗体中运行一个子窗口

我想试图找到一种方法来立即在 每个(打开)MDI子窗口上运行ApplyMyUserProfile。我可以识别打开的子窗体,但我不知道如何告诉每个窗体为每个窗体运行ApplyMyUserProfile()。

这就是我想要做::

私人小组ModifyUserProfileParametersInOpenForms()

昏暗的窗体名称的String = “”

'遍历所有打开的' MDI子窗体

For Each frm As Form In Application.OpenForms

If frm.IsMdiChild Then

窗体名称= frm.Name

Debug.Print(窗体名称) '这个正确显示我打开MDI子窗体

' 每个MDI子窗体有一个名为ApplyMyUserProfile() '此子将修改子了涉及每个 “形式

frm.ApplyMyUserProfile()

”这产生了错误的控制属性(颜色等)“ApplyMyUserProfile不是 '系统的成员。 Windows.Forms.form

frm.Refresh()

结束如果

下一页FRM

末次

“感谢您的帮助!

+0

请参考[参考](https://stackoverflow.com/help)了解如何提出一个好问题 – UmarZaii

回答

0
For Each frm As Form In Application.OpenForms 

“遍历所有打开的MDI子窗体

 If frm.IsMdiChild Then 

     If frm.Name <> "frmMyUserProfile" Then 

      CallByName(frm, "Form_ReloadUserProfileParameters", CallType.Method) 

      End If 

     End If 

    Next frm 

”注意 “Form_ReloadUserProfileParameters()是一个公共子必须在每个子窗体。无论在这个子文件中,都会在子文件上执行! (小孩) '完美!

相关问题