tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルListViewの選択について。
記事No9488
投稿日: 2009/10/23(Fri) 12:50
投稿者もんもん
はじめまして。
Visual Basic2005を使用しています。

現在、Timerを使用してListViewに表示されたItemを1行づつ上から順番に選択状態にするプログラム(以下参照)を書いています。

---------------------------------------------------------------------------
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        mon = mon + 1
        If mon = 1 Then
            ListView2.Items(0).Selected = True
            ListView2.Items(1).Selected = False
            ListView2.Items(2).Selected = False
            ListView2.Select()  'ListView をアクティブにする
        ElseIf mon = 2 Then
            ListView2.Items(0).Selected = False
            ListView2.Items(1).Selected = True
            ListView2.Items(2).Selected = False
            ListView2.Select()
        ElseIf mon = 3 Then
            ListView2.Items(0).Selected = False
            ListView2.Items(1).Selected = False
            ListView2.Items(2).Selected = True
            ListView2.Select()
        End If
---------------------------------------------------------------------------

当然ですが、上記のプログラムでは、3つ(決まったItem数)の場合しか動作しません。

Itmeの数が4つや5つなどに増えても、1つや2つに減っても、その数に合わせて1行づつ上から選択状態にしたいのですが、うまくいきません。
最終的には、Itemが50や100といった数でも、それに合わせて1行づつ選択状態にしたいと考えています。


説明がうまくできずに、伝わらない部分があるかと思いますが、どなたかご教授よろしくお願いします。

[ツリー表示へ]
タイトルRe: ListViewの選択について。
記事No9489
投稿日: 2009/10/23(Fri) 13:17
投稿者GOD
> Itmeの数が4つや5つなどに増えても、1つや2つに減っても、その数に合わせて1行づつ上から選択状態にしたいのですが、うまくいきません。
> 最終的には、Itemが50や100といった数でも、それに合わせて1行づつ選択状態にしたいと考えています。
>
リストの個数は ListView1.Items.Count で取得できるので For文を使用して全Itemの選択解
除後、 ListView2.Items(mon).Selected = True すればそこそこ動作すると思いますよ。
あと、mon が ListView1.Items.Count-1 を超えた場合に動作を停止するようにしてくださ
い。

[ツリー表示へ]
タイトルRe^2: ListViewの選択について。
記事No9509
投稿日: 2009/10/27(Tue) 14:28
投稿者もんもん
GODさんありがとうございます!
お礼が遅れてしまって申し訳ありません。

参考にして頑張ってみます。
また、わからなくなったら質問させていただきます。

ありがとうございました。

[ツリー表示へ]