DOBON.NET DOBON.NETプログラミング掲示板過去ログ

CheckedListBoxのテキスト取得

環境/言語:[VB]
分類:[.NET]

OS:XP、VB2010

CheckedListBox1.SetItemChecked(i, True)でチェックし、
発生するItemCheckイベント内でリストのテキストを取得したいのですが、
選択されていないので、CheckedListBox1.SelectedItem.ToString
では当然エラーになってしまいます。
ItemCheckイベント内で取得するにはどうすればよいのでしょうか?
イベント引数 ItemCheckEventArgs に、変更があった項目のインデックスが含まれています。
  • 題名: Re[1]: CheckedListBoxのテキスト取得
  • 著者: 魔界の仮面弁士
  • 日時: 2011/02/03 20:28:12
  • ID: 28097
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
2011/02/03(Thu) 20:30:57 編集(投稿者)

■No28095に返信(motoさんの記事)
> CheckedListBox1.SelectedItem.ToString
ListBox には、
 単体選択:SelectedItem / SelectedIndex
 複数選択:SelectedItems / SelectedIndecies
がありますよね。

そして CheckedListBox は、当然複数選択になるので
SelecteItem や SelectedIndex の出番は通常ありません。
代わりに「CheckedItems」や「CheckedIndices」を使えます。


> では当然エラーになってしまいます。
ListBox にしても CheckedListBox にしても、
「何も選択されていない」という状況がありますので
注意してくださいね。


> ItemCheckイベント内で取得するにはどうすればよいのでしょうか?
イベント引数から e.CurrentValue, e.Index, e.NewValue を得られます。
お二方ともありがとうございます。
まさにこれe.Indexでした。
CheckedListBox1.Items(e.Index).ToString
で簡単に取得できました。

senderのプロパティは見て、なさそうだったので質問してしまいました。
VBA出身で.netは大海に放り出された感じです。
.ToStringや.Containsは目からうろこでした。
今後もお世話になるかと思いますので、よろしくお願いします。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板