リストビューで項目を1行づつ上に上げるには?

解決


のんたん  2004-07-29 15:55:14  No: 84830  IP: [192.*.*.*]

リストビューの項目の数が決まっていなくて、ある項目を削除した時
その空欄に一つ下の項目が一つずつ上がっていくようにしたいのですが、
以下のコードだと最後の空白行の処理でエラーが起きます。
どなたかいい方法をご存知ではないでしょうか?
Dim i As Integer
For i = 1 To 30 Step 1 '本当は何個か不定ですが30にしておきました。
If frmMain.lstv.ListItems(i).Text = " " Then
    If frmMain.lstv.ListItems(i + 1).Text = " " Then Exit For
       frmMain.lstv.ListItems(i).Text =
                             frmMain.lstv.ListItems(i + 1).Text
       frmMain.lstv.ListItems(i).SubItems(1) = 
                            frmMain.lstv.ListItems(i + 1).SubItems(1)
    End If
Next

編集 削除
通りすがりのネコ  2004-07-29 17:12:12  No: 84831  IP: [192.*.*.*]

標準で上がっていきませんか?

frmMain.lstv.ListItems.Remove 2    ' <-- 2行目を削除したい場合

問題をはずしていたら、ごめんなさい(^^;

編集 削除
252  2004-07-29 17:19:49  No: 84832  IP: [192.*.*.*]

1212

編集 削除