条件によってユーザコントロールを切り替えたい


こにし  2009-03-31 20:51:54  No: 141779

VB2008を使用し、ユーザコントロールを4つ作成し、条件に応じて表示するコントロールを変更しようと思います。
例えば、以下のように、変数KUBUNの値に応じて、表示させるユーザコントロール(ucKubun_1〜4)を設定し、
パネルPanel1にこれを表示しようというものです。

Dim ucUse As Control
Select Case KUBUN
    Case "1"
        ucUse = New ucKubun_1
    Case "2"
        ucUse = New ucKubun_2
    Case "3"
        ucUse = New ucKubun_3
    Case "4"
        ucUse = New ucKubun_4
End Select
Panel1.Controls.Add(New ucUse)

しかしながら、ユーザコントロールの名前がucKubun_1〜4というように、コントロール名の末尾が
変数KUBUNと同じなので、もっと簡単にコントロール設定ができないかと思い、質問させて頂きました。
例えば、上の例でいうと、
ucUse = hogehoge("ucKubun_" & KUBUN)
のような方法でコントロールを変数に格納出来ないでしょうか?
宜しくお願い致します。


YuO  2009-04-01 06:09:00  No: 141780

リフレクションでできないこともないですが……。

せめて作成用のデリゲートやラムダ式を配列にしておくくらいにしておくのがよいと思います。
リフレクションにすると,逆にややこしくなると思いますし。

全部作っておいてVisibleで制御が一番簡単ですけどね……。


YuO  2009-04-01 06:09:00  No: 141781

リフレクションでできないこともないですが……。

せめて作成用のデリゲートやラムダ式を配列にしておくくらいにしておくのがよいと思います。
リフレクションにすると,逆にややこしくなると思いますし。

全部作っておいてVisibleで制御が一番簡単ですけどね……。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加