2017-08-17 5 views
0

私はMDIウィンドウアプリケーションを持っています。 ユーザーはコントロールのプロパティ(カラーなど)を変更することができます。すべてのMDI子フォームには、色を設定するApplyMyUserProfileというサブが含まれています。すべての開いているMDIChildフォームでサブを実行

すぐにApplyMyUserProfileを (実行中)MDI子ウィンドウごとに実行する方法を見つけようとしています。開いている子フォームを識別できますが、 は、各フォームに対してApplyMyUserProfile()を実行するようにそれぞれのフォームに指示する方法がわかりません。

この

は私が::行う

ます。Private Sub ModifyUserProfileParametersInOpenForms()= ""

'のループが開いているすべての' を通してMDI子

を形成して文字列として

薄暗いFORMNAMEしようとしていますものです

各フォームFor Application.OpenForms

frm.IsMdiChild If

FORMNAME = frm.Name

ます。Debug.Print(フォーム名)すべてのMDI子フォームがApplyMyUserProfile(と呼ばれるサブ 'を有し、これは正しく私を示しオープンMDI子は

を形成') 「このサブが変更されます各 「フォーム

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に注意してください)子フォームの各上になければならない公共のサブです。このサブの中にあるものはすべてサブの上で実行されます! (子供) '完璧!

関連する問題