- 題名: リストビューのSelectedImtemsの跡が残る件について
- 日時: 2010/12/31 13:51:01
- ID: 27926
- この記事の返信元:
- (なし)
- この記事への返信:
- [27927] Re[1]: リストビューのSelectedImtemsの跡が残る件について2010/12/31 18:11:57
- ツリーを表示
■No27927に返信(Azuleanさんの記事) > グレーの枠はフォーカスがあることを示す枠線です。 > お望みのことは ListView1.FocusedItem = ListView1.Items(BeforeInd) などと書くと実現できるかもしれません。 > (フォーカスを BeforeInd が指し示すアイテムに移す) ありがとうございます。 おっしゃるとおりにしたら、実現できました。 うーん、VB.NETよくわかりません。っていうか、プロパティ多すぎです。 こんなプロパティがあったとは。 ありがとうございました。
分類:[.NET]
2010/12/31(Fri) 13:54:53 編集(投稿者) はじめまして。 XPSP3で、VB.NET2008で、リストビューを使っています。 リストビューに表示されている項目を上下移動させる事を目的としています。 それはできているのですが、SelectedItems(0)のSeletedをFalseにすると、 その行でハイライトされていた領域にグレーの枠が残ってしまいます。 仕様なのかもしれませんが、このグレー枠を表示させない方法をご存じ方はいらっしゃらないでしょうか。 行削除と行挿入で回避できるかもしれないと思ってやってみましたが、結果はおなじでした。 リストビューの項目を上に移動するコードは次のようにしています。 よろしくお願いします。 Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Dim SelectStr As String Dim BeforeInd As Integer BeforeInd = ListView1.SelectedItems(0).Index If BeforeInd > 0 Then BeforeInd = BeforeInd - 1 SelectStr = ListView1.SelectedItems(0).SubItems(1).Text ListView1.SelectedItems(0).SubItems(1).Text = ListView1.Items(BeforeInd).SubItems(1).Text ListView1.Items(BeforeInd).SubItems(1).Text = SelectStr ListView1.SelectedItems(0).Selected = False ←この部分が問題 ListView1.Items(BeforeInd).Selected = True ←上の行をハイライト End If ListView1.Focus() End Sub