タイトル | : CheckedListBoxにチェックをつけたい |
記事No | : 3467 |
投稿日 | : 2006/04/03(Mon) 15:21 |
投稿者 | : ひろ |
[OSのVer]:WindowsXp [VBのVer]:VB.NET2003
CheckedListBoxに複数のデータを表示しており、 任意のデータに対して、プログラムからチェックを付けたいと考えています。
サンプルを作りました。
新しいウィンドウズアプリケーションを開いて、 フォームにCheckedListBox 1つと Button を1つ貼り付けます。 モジュールを追加して Sub Mainからスタートするようにします。
(モジュール側) Sub Main()
Dim frmTgt As New Form1 Dim dtTest As New DataTable
dtTest.Columns.AddRange(New DataColumn() {New DataColumn("Code", GetType(String)), _ New DataColumn("Name", GetType(String))})
dtTest.Rows.Add(New Object() {"001", "あいうえお"}) dtTest.Rows.Add(New Object() {"002", "かきくけこ"}) dtTest.Rows.Add(New Object() {"003", "さしすせそ"}) dtTest.Rows.Add(New Object() {"004", "たちつてと"}) dtTest.Rows.Add(New Object() {"005", "なにぬねの"})
With frmTgt.CheckedListBox1 .CheckOnClick = True .DisplayMember = "Name" .ValueMember = "Code" .DataSource = dtTest .SetItemChecked(3, True) End With
Application.Run(frmTgt)
frmTgt.Dispose()
End Sub
(フォーム側) Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.CheckedListBox1.SetItemChecked(3, True) End Sub
フォームのボタンを押下すれば「たちつてと」の行にチェックがつくのですが、 フォームが表示されるタイミングではチェックがついていません。
Sub Mainの中の SetItemChecked が動いてほしいのですが、 何か方法はありますか?
|