- - PR -
リストボックスで
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-06-26 21:46
VS2003 C#でリストボックスを使っています。
リストボックスにはデータソースにDataTableを設定していて、DataTableはデータベースのクエリによるデータです。 リストボックスのSelectModeはMultiExtendedなんですが、リストボックスを縦スクロールさせてCTRLキー+マウスクリックで選択解除を行うと、全て選択解除したはずなのに、先頭のレコードが選択状態になってしまいます。 SelectModeをMultiSimpleにしても同じでした。 マウスアップイベントハンドラやIndexChangedイベントハンドラで回避しようとしたんですが、イベントの起きる順序が IndexChanged → マウスアップ だったので回避できませんでした。 何か回避策はないでしょうか? | ||||||||
|
投稿日時: 2006-06-26 22:01
(多分) 仕様です。 これを防ぐためには、バインドすることをやめるか、 必ず、1 つ選択するように制御する必要があります。
後者の方法 (必ず 1 つ選択するようにする) で回避するのであれば、 SelectedIndexChanged イベントで選択が解除されたら、 BindingContext から CurrencyManager の Position を SelectedIndex に設定するように制御します。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
1