0

私はビジュアルを学んでいて、これをやろうとしています:

    For Each folder In Dir.Subfolders
        list = list + 1
        C1CheckBox(list).Text = folder.Name
    Next

C1CheckBox1、C1CheckBox2、C1CheckBox3などの名前のcheckboxexがたくさんあります...次に、各チェックボックスのテキストをフォルダー名で変更したい(リストvarを使用してオブジェクトを参照します)...

どうすればこれを行うことができますか?

読んでくれてありがとう

4

2 に答える 2

1

Controls.Findを使用すると、名前でコントロールを見つけることができます。

For Each folder In Dir.Subfolders
    list = list + 1
    Dim cb As CheckBox = Me.Controls.Find("C1CheckBox" & list, True)(0)
    cb.Text = folder.Name
Next

これにより、子コンテナを含むフォーム全体が検索されます。すべてのチェックボックスがたとえばpanel1にあることがわかっている場合は、より具体的にすることができます。

Dim cb As CheckBox = Me.Panel1.Controls.Find("C1CheckBox" & list, False)(0)
于 2012-11-14T23:04:37.997 に答える
1

すべてのチェックボックスをループして、テキストを設定することができます。 チェックボックスを列挙する方法の例については、この回答を参照してください

于 2012-11-14T18:26:28.413 に答える