• ベストアンサー

VB6.0 リストボックスの扱いについて

【環境】VB6.0,WinXPです。 現在独学でVB6.0を勉強しています。 http://www4.plala.or.jp/tamo/vb/vb99.html 上記HP内「課題9」を現在やっているのですが、この問題のように リストボックス内のデータを検索→選択状態に。という流れは、どう書けばいいのか分かりません。 始めたばかりなので、大雑把な質問で申し訳ありませんが、ご教授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kiki_s
  • ベストアンサー率59% (147/248)
回答No.3

>もしよろしければ、具体的なサンプルコードのようなものを教えていただけませんか? それじゃ勉強になりませんがな(^^;; まぁ、取りあえず部分的なコードで・・・ リストボックス:List1 テキストボックス:Text1(アイテム追加用) テキストボックス:Text2(検索用) コマンドボタン:適当 'データ追加ボタンをクリックしたときテキストボックスに入力された文字列データを 'リストボックスのアイテムとして追加 List1.AddItem Text1.Text '検索ボタンをクリックしたときリストボックスから '検索したい文字列が含まれているアイテム選択 'List1のプロパティで「MultiSelectプロパティ」を「2」にする If List1.ListCount >= 0 Then '選択を解除 For A = 0 To List1.ListCount - 1 List1.ListIndex = A List1.Selected(A) = False Next '検索と文字列が含まれているとき選択状態にする For A = 0 To List1.ListCount - 1 If 0 < InStr(List1.List(List1.ListIndex), Text2.Text) Then List1.Selected(A) = True End If Next End If ヒントじゃないですね、これじゃ。 ほとんど書いてるなぁ。 一つだけ注意。 適当に書いたコードですが、このコードが正しいと思わないで下さい。 やり方は千差万別ですので。

yk0001
質問者

お礼

ありがとうございます。 おかげさまで実装することが出来ました。 また何かあればご教授お願いします。

その他の回答 (2)

  • kiki_s
  • ベストアンサー率59% (147/248)
回答No.2

方法はNo.1さんの書かれた通り。 Like演算子以外ならInStr関数で検索する方法もあります。 Like演算子はパターンマッチングが出来るので便利ですが、 単純な比較ならInStr関数の方が分かりやすいかも知れません。 余談ですが、一度検索した後、別の文字を検索した時、 前の選択が解除されるようにする必要もあります。 考えてみて分からなければ、また質問してみて下さい。

yk0001
質問者

お礼

ありがとうございます。 もしよろしければ、具体的なサンプルコードのようなものを教えていただけませんか? よろしくお願いします。

  • kuro-pon
  • ベストアンサー率0% (0/4)
回答No.1

For~Nextでリストボックス内のデータ一行毎にLikeで検索文字を探す。 あったらSelectedプロパティを操作する。 リストボックスは複数選択可にしておかなければ出来ませんので注意してください。 以上、勉強中とのことなのでコードは記述しません。

yk0001
質問者

お礼

ありがとうございます。 For~Nextと聴いてもいまいちパッとしないのですが… よろしければコードのほうもお願いしたいと思います。

関連するQ&A