VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

メニューへ戻ります。 ListBox コントロール関係のメニュー
1.ListBox コントロールに関するワンポイントテクニック集
2.ListBox 内の項目の高さ(行の高さ)を設定する
3.リストボックス内のすべての項目を完全一致・前方一致検索
4.ListBox に複数の項目を指定位置に揃えて表示/表示データを個別に取得
5.リストボックスの指定位置に複数のタブストップ位置を設定
6.ListBox 内の項目の色を個別に設定する(オーナードローによる)
7.ListBox の背景色を1行飛びに設定する(オーナードローによる)
8.テキストファイルを読み込んでリストボックスに表示及びファイルに保存
9.2つのリストボックスのスクロールの同期を取る
10. 
11.
12.
 . 
20.その他、当サイト内に掲載の ListBox コントロールに関するサンプル


6.ListBox 内の項目の色を個別に設定する(オーナードローによる)(19_Lst_09) (旧、SampleNo.112)
1.ListBox 内の項目の色を個別に設定する(オーナードローによる)
2.
3.
4.
5.
6.

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86
Option :[Compare Text] [Explicit On] [Infer On] [Strict On]
Imports :追加なし
参照設定:
追加なし
その他 :
    :
このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので)
必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい)
このページのトップへ移動します。 1.ListBox 内の項目の色を個別に設定する(オーナードローによる)

Public Class Form1

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'文字色を設定(オーナードローで)
    If ListBox1.DrawMode = DrawMode.OwnerDrawFixed Then
        ListBox1.DrawMode = DrawMode.Normal
    Else
        ListBox1.DrawMode = DrawMode.OwnerDrawFixed
    End If
End Sub

Private Sub ListBox1_DrawItem(sender As Object, e As DrawItemEventArgs) Handles ListBox1.DrawItem
'オーナー描画の ListBox 項目を作成(ヘルプに同様のサンプルあり)
    '項目が選択された場合は強調表示
    e.DrawBackground()
    Dim myBrush As Brush = Brushes.Black
    '文字を描画するブラシの色を決定する。
    If (e.State And DrawItemState.Selected) <> DrawItemState.Selected Then
        '項目が選択されていない場合文字色を指定の色で描画
        Select Case e.Index Mod 4
            Case 0
                myBrush = Brushes.Red
            Case 1
                myBrush = Brushes.Blue
            Case 2
                myBrush = Brushes.Yellow
            Case 3
                myBrush = Brushes.Green
        End Select
    Else
        '選択されている場合はそのままの文字色で
        myBrush = New SolidBrush(e.ForeColor)
    End If
    '指定した位置に、指定した Brush オブジェクトと
    'Font オブジェクトで、指定した文字列を描画
    e.Graphics.DrawString(ListBox1.Items(e.Index).ToString(), e.Font, myBrush, _
            New RectangleF(e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height))
    '描画されている項目に Focus がある場合は、フォーカスを示す四角形を描画する
    e.DrawFocusRectangle()
End Sub

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    With ListBox1
        .Items.Add("あいうえお アイウエオ")
        .Items.Add("かきくけこ カキクケコ")
        .Items.Add("さしすせそ サシスセソ")
        .Items.Add("たちつてと タチツテト")
        .Items.Add("なにぬねの ナニヌネノ")
        .Items.Add("はひふへほ ハヒフヘホ")
        .Items.Add("まみむめも マミムメモ")
        .Items.Add("や ゆ よ ヤ ユ ヨ")
        .Items.Add("らりるれろ ラリルレロ")
        .Items.Add("わをん   ワヲン")
    End With
End Sub

End Class


  図1.上記実行結果
 vb2013listbox06_1

このページのトップへ移動します。 2.


このページのトップへ移動します。 3.


このページのトップへ移動します。 4.


このページのトップへ移動します。 5. 



このページのトップへ移動します。 6.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)
リストボックス 文字色 前景色




このページのトップへ移動します。