初めまして、質問させてください。
リストビューとボタンが一つあるとします。リストビューに表示されている項目を複数選択したらボタン使用不可にするプログラムを作ろうと思っています。過去ログの【ListViewで複数選択しているかの判定
:http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200402/04020049.txt】を参考に作ってみたのですが、リストを選択した時に『インデックスが範囲を超えています』というエラーが表示されます。いろいろ考えたのですがエラーを処理することが出来なくて困っています。みなさんの意見を聞かせてください。
開発環境
OS:WinXP
バージョン:VB6(SP5)
Private Sub lstvieInfo_Click()
Dim intI as Integer
Dim intCnt as Integer
For intI = 0 To ListView1.ListItems.Count
If lListView1.ListItems(intI).Selected = True Then
intCnt = intCnt + 1
End If
Next
If intCnt > 2 Then
Command1.Enabled = False
End If
エラーはintIがいくつのときにでますか?
それを調べれば、エラーの原因がわかると思います。
LESIAさんレスありがとうございます。
>エラーはintIがいくつのときにでますか?
>それを調べれば、エラーの原因がわかると思います。
エラーはintIが0、リストをクリックした直後にでます。
LESIAさんのご回答に返信中に思いついたのですが、
intIはリストインデックスですよね?
For intI = 0 To ListView1.ListItems.Count
の部分を
For intI = 1 To ListView1.ListItems.Count
にしてやることで解決しました。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200512/05120059.txt
こちらにも同じ質問をしていました。マルチポストということを知らずマナー違反してしまってすいません。以後気をつけます。
初めての投稿でみなさんにご迷惑かけました。
ご回答頂いたみなさんありがとうございました。
> エラーはintIが0、リストをクリックした直後にでます。
ということは、インデックスに0は使えないということです。
過去ログのコードをもういちどよくみてください。
あ、書いている間に解決したんですね(^^;
解決したのなら、「解決時は質問者本人がここをチェックしてください」に
チェックを入れてください。
初心者掲示板の方も、こちらで解決した旨を書いて解決済にしてください。
すいません。初心者掲示板で回答を書いていてこちらにチェックするのを忘れているのに気づきました。初心者掲示板の方は解決済みにしました。
最後までご迷惑をおかけしてしまい申し訳ありませんでした。また困ったときはお力添えお願いします。
ツイート | ![]() |