玄関へお回り下さい。
ListView コントロールの基本的な操作方法色々(その2) (13個)          (SNo.114)

16.バックカラーを設定
17.フォアカラーを設定
18.アイテムを書き換える
19.指定行を選択状態にする
20.クリック毎に降順・昇順に並べ替え
21.トップ行のインデックスを取得
22.指定行をトップ位置に設定する
23.すべて選択状態にする
24.列ヘッダーの幅を自動的にサイズ変更する
25.指定列の項目を右揃えで表示する
26.チェックボックスの表示/非表示
27.フォーカスを失っても選択表示を強調表示のままにしておく
28.項目とサブ項目を含む行と列の間にグリッド線を表示する
使用コントロール Button11 〜 Button22  ListView1
その他条件 WindowsXP(Vista) Visual Basic 2005(VB2008)
 
16.バックカラーを設定
17.フォアカラーを設定

 
Private Sub Button11_Click(ByVal sender As System.Object, _
                           ByVal e As System.EventArgs) Handles Button11.Click
'バックカラー・フォアカラーを設定
    ListView1.Items(0).UseItemStyleForSubItems = False
    ListView1.Items(0).SubItems(0).ForeColor = Color.White
    ListView1.Items(0).SubItems(0).BackColor = Color.Green
    ListView1.Items(0).SubItems(1).ForeColor = Color.Yellow
    ListView1.Items(0).SubItems(1).BackColor = Color.HotPink

    'True の場合、1行全体が対象になる
    ListView1.Items(1).UseItemStyleForSubItems = True
    ListView1.Items(1).ForeColor = Color.Red
    ListView1.Items(1).BackColor = Color.Yellow

    ListView1.Items(2).UseItemStyleForSubItems = False
    ListView1.Items(2).SubItems(2).ForeColor = Color.Blue
    ListView1.Items(2).SubItems(2).BackColor = Color.Gold
End Sub
 
18.アイテムを書き換える
 
Private Sub Button12_Click(ByVal sender As System.Object, _
                           ByVal e As System.EventArgs) Handles Button12.Click
'アイテムを書き換える
    ListView1.Items(1).SubItems(0).Text = "蚊取  新語"
    ListView1.Items(1).SubItems(1).Text = "444-0012"
    ListView1.Items(1).SubItems(2).Text = "東京都 品川区"
End Sub
 
19.指定行を選択状態にする
 
Private Sub Button13_Click(ByVal sender As System.Object, _
                           ByVal e As System.EventArgs) Handles Button13.Click
'指定行を選択状態にする
    ListView1.Items(1).Selected = True
    ListView1.Select()  'ListView をアクティブにする
End Sub
 
20.クリック毎に降順・昇順に並べ替え
 
Private Sub Button14_Click(ByVal sender As System.Object, _
                           ByVal e As System.EventArgs) Handles Button14.Click
'クリック毎に降順・昇順に並べ替え
    If ListView1.Sorting = SortOrder.Ascending Then
        ListView1.Sorting = SortOrder.Descending
    Else
        ListView1.Sorting = SortOrder.Ascending
    End If
End Sub
 
21.トップ行のインデックスを取得
 
Private Sub Button15_Click(ByVal sender As System.Object, _
                           ByVal e As System.EventArgs) Handles Button15.Click
'トップ行のインデックスを取得
    Dim topIndex As Integer = ListView1.TopItem.Index
    MessageBox.Show(topIndex)
End Sub
 
22.指定行をトップ位置に設定する
 
Private Sub Button16_Click(ByVal sender As System.Object, _
                           ByVal e As System.EventArgs) Handles Button16.Click
'指定行をトップ位置に設定する
    '一旦範囲外に設定する
    ListView1.EnsureVisible(ListView1.Items.Count - 1)
    '次にトップ位置に設定したい位置を指定する
    ListView1.EnsureVisible(5)
End Sub
 
23.すべて選択状態にする
 
Private Sub Button17_Click(ByVal sender As System.Object, _
                           ByVal e As System.EventArgs) Handles Button17.Click
'すべて選択状態にする
    Dim itm As ListViewItem
    For Each itm In ListView1.Items
        itm.Selected = True
    Next
    ListView1.Focus()
End Sub
 
24.列ヘッダーの幅を自動的にサイズ変更する
 
Private Sub Button18_Click(ByVal sender As System.Object, _
                           ByVal e As System.EventArgs) Handles Button18.Click
'列ヘッダーの幅を自動的にサイズ変更する
    Dim colHed As ColumnHeader
    For Each colHed In ListView1.Columns
        colHed.Width = -2
    Next

    '指定列の幅だけ自動調整する場合
    ListView1.Columns(1).Width = -1
End Sub

25.指定列の項目を右揃えで表示する

Private Sub Button19_Click(ByVal sender As System.Object, _
                           ByVal e As System.EventArgs) Handles Button19.Click
'指定列の項目を右揃えで表示する
    ListView1.Columns(2).TextAlign = HorizontalAlignment.Right
    ListView1.Columns(2).Text = "住所        "
End Sub

26.チェックボックスの表示/非表示

Private Sub Button20_Click(ByVal sender As System.Object, _
                           ByVal e As System.EventArgs) Handles Button20.Click
'チェックボックスの表示/非表示
    ListView1.CheckBoxes = Not ListView1.CheckBoxes

    'ListView1.CheckBoxes = True
    'ListView1.CheckBoxes = False
End Sub

27.フォーカスを失っても選択表示を強調表示のままにしておく

Private Sub Button21_Click(ByVal sender As System.Object, _
                           ByVal e As System.EventArgs) Handles Button21.Click
'フォーカスを失っても選択表示を強調表示のままにしておく
    ListView1.HideSelection = False
End Sub

28.項目とサブ項目を含む行と列の間にグリッド線を表示する

Private Sub Button22_Click(ByVal sender As System.Object, _
                           ByVal e As System.EventArgs) Handles Button22.Click
'項目とサブ項目を含む行と列の間にグリッド線を表示する
    ListView1.GridLines = True
End Sub







2004/08/22
2005/10/21


VBレスキュー(花ちゃん)
VB.NET2003  VB2005