- - PR -
LISTVIEWのチェックボックスイベント
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-03-22 22:55
Visual C#.Netで開発している初心者です。
LISTVIEWのチェックボックス(複数行)で、チェックは一つだけつくようにしたいのです。 つまり、チェックボックスがONの状態で他のチェックボックスをONにした場合は前のチェックボックスをOFFにしたいのです。参考ソース・URLがございましたらご教授いただけませんか? よろしくお願いいたします。 | ||||||||
|
投稿日時: 2005-03-23 00:53
ItemCheckイベントのハンドラで、既にチェックされていたListViewItemの
チェックをはずせばいいんじゃないですか? ただし、気をつけないとイベントハンドラがループしちゃうので、チェックをはずした ときは処理を行わない(チェックを入れたときのみ行う)などの工夫が必要ですね。 | ||||||||
|
投稿日時: 2005-03-23 10:53
べるさん返答ありがとうございます。
あの、具体的なコードを教えていただけませんでしょうか…? お手数かけてすみません! | ||||||||
|
投稿日時: 2005-03-23 19:53
実行する手順がわからないのか、手順をどうコード化するかわからないのか、どっち?
“ある処理を実行中は、この処理を実行しない”という状況は多々あります。特にイベント関係では、付随して発生するイベントがあるために、「ここでこのイベント発生させる要因を作って良いのか」ということを常に考えなければなりません。 このケースはそういう“よく使うパターン”です。まず、自分で書いてみて、どう悪いのか聞く。そういう聞き方が出来ませんか? 回答してくれる人は、あなたの状況を知りません。あなたの状況に合うコードは作れないのです。あなたの状況に合うコードを作るのは、あなたの仕事ではないですか? _________________ | ||||||||
|
投稿日時: 2005-03-23 23:53
一意に定まるものではありません。先に私が書いたやり方以外にも「処理する瞬間だけ ハンドラの登録を解除する」という方法も考えられますし。 どこまで理解していて、何がわからないのですか? どこまでやってみて、どうだめだったのですか? といいつつコードを書きますが、これがとらさんのためになるとはあまり思いません。 私が試したときは、ItemCheckイベントのハンドラに下記のようなコードを書きました。
|
1