- PR -

リストボックスの選択行について

1
投稿者投稿内容
つぢ
会議室デビュー日: 2003/10/29
投稿数: 9
投稿日時: 2003-11-06 13:23
リストボックスの選択行について質問です。
VB.NETでWinアプリです。

ListBoxのSelectionModeプロパティをMultiSimpleに設定し、
そのListBoxのSelectedIndexChangedイベントにて、その時
選択された行を取得したいのですが、どのようにすれば可能
でしょうか?
SelectedIndexプロパティだと、選択している全ての行の先頭行を
取得してくるようなので使えませんでした。

よろしくお願いします。
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2003-11-06 14:47
こんにちわ。諸農です。

引用:

そのListBoxのSelectedIndexChangedイベントにて、その時
選択された行を取得したいのですが、どのようにすれば可能
でしょうか?
SelectedIndexプロパティだと、選択している全ての行の先頭行を
取得してくるようなので使えませんでした。



ListBox.SelectedItems はどうでしょうか?
インデックス番号のリストなら SelectedIndices プロパティでしょうか。

ではでは(^^)/

_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
つぢ
会議室デビュー日: 2003/10/29
投稿数: 9
投稿日時: 2003-11-06 14:58
諸農さん、回答ありがとうございます。

引用:

ListBox.SelectedItems はどうでしょうか?
インデックス番号のリストなら SelectedIndices プロパティでしょうか。



残念ながら、SelectedItemsやSelectedIndicesだと、全ての選択行を取得して
しまうので、今回は使えないんです。
その時クリックされたインデックスのみ取得したいんです。

最悪の場合、この手は使いたくはないんですが、SelectedIndicesを退避させ
ておいて、SelectedIndexChangedイベント発生時のSelectedIndicesと比較
して、選択された行を取得するしかないかなと思っています。

こういった方法を使わず、他に良い方法が無いか質問させて頂きました。
小野@どっとねっとふぁん
ぬし
会議室デビュー日: 2001/10/30
投稿数: 402
投稿日時: 2003-11-06 17:41
SelectedIndexChangeイベントではなく、MouseUpイベントで
カーソルの位置をひろって、IndexFromPointメソッドで
インデックスを取得する、という手が使えるかな?

でも、なんでClickイベントはパブリックイベントじゃ
ないんだろ。。。
つぢ
会議室デビュー日: 2003/10/29
投稿数: 9
投稿日時: 2003-11-06 18:02
小野さん、ありがとうございます。

引用:

SelectedIndexChangeイベントではなく、MouseUpイベントで
カーソルの位置をひろって、IndexFromPointメソッドで
インデックスを取得する、という手が使えるかな?



あっ、そういう手が使えますね。
ただ、キーボードのスペースで選択された場合に、これだと対応できないので...

キーボードの矢印キーで行を移動させると、薄くカーソルが表示されるので、
その位置が分かればいいのですが...
1

スキルアップ/キャリアアップ(JOB@IT)