2017年10月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
無料ブログはココログ

« アブナイ形? | トップページ | 卯辰山の梅林 »

2008.03.15

CheckedListBoxにも問題が

先日のVB .NETでのリストボックスの件でCheckedListBoxを使うことにしたのですが、ここでもまた問題が。

CheckedListBoxのSelectionModeを "One"、CheckOnClickを "False" とすることで目的を達することができたのですが、今度は選択数の取得に問題が発生しました。
選択(チェック)されている数を表示するため、CheckedListBoxのSelectedIndexChangedイベントにて選択数(CheckedItems.Count)を取得していたのですが、ダブルクリックのような速度で選択した場合にはイベントが一度(カレント位置の移動時)しか発生しません。
CheckedListBoxにはItemCheckというイベントがあったので、今回のような場合はこちらのイベントで取得するのが正しいようです。

しかし、ここでもまた問題が。
ItemCheckイベントが発生するタイミングはチェックボックスの状態が変わる前のようで、ここで取得した選択数は実際に求めたい選択数とは違ってしまうのです(直前の状態しか取得できない)。
チェックボックスの状態が変わった後で発生するItemCheckedみたいなイベントがあればいいのですが、そんなのはなさそうです。

逃げとしてはCheckedItems.Countに対して、
GetItemChecked(SelectedIndex)がTrueの場合は(非チェックになるはずなので)-1、Falseの場合は(チェックされるはずなので)+1を行ってやれば良さそうです。
でもちょっとインチキくさいやり方ですよね。think

« アブナイ形? | トップページ | 卯辰山の梅林 »

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/39755/40502289

この記事へのトラックバック一覧です: CheckedListBoxにも問題が:

« アブナイ形? | トップページ | 卯辰山の梅林 »

にほんブログ村

Amazon.co.jp