|
Formの数が多いなら、Dictionary化がおすすめ。
Application.OpenForms()の戻り値から、毎回、検索するより高速です。
以下サンプルです。
動作確認してないので、間違っていたら失礼。
まず、以下のようにDictionaryを作成します。
※ 検索する可能性のあるフォームがすべてそろった時点で行うこと
※ その時点で1回行うだけでいいです
Dim formDic As Dictionary(Of String, Form) = _
Application.OpenForms().ToDictionary(Function(x) x.Name)
その後は、以下のようにして、一発で フォーム名(String) → フォーム(Form)と
検索できます。
formDic("フォーム名")
必ず、指定したフォーム名が存在するなら、上記でOKですが、見つからないフォーム
名を検索すると例外が発生しますので、見つからない可能性がある場合は、
以下のようにしてください。
Dim form as Form;
formDic.TryGetValue("フォーム名", form)
この場合、見つからない場合は TryGetValue() の戻り値が False です。
|