2017-08-17 67 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()是一個公共子必須在每個子窗體。無論在這個子文件中,都會在子文件上執行! (小孩) '完美!

相關問題