2

グリッドはすべての情報を正しく表示します。イベント dataGridView1cellFormatting で、行の値の下にあるオブジェクトに応じて背景色を変更します。これも機能します。グリッドにある最後のイベントは、アイコンを追加するヘッダーかどうかを確認する dataGridView1_CellPainting です。

選択した行(または同じことをするセル)の色を取り出そうとするまで、すべて問題ありません。私が欲しいのは、選択した線の色を取り出すことです。「透明」で設定しようとしましたが、コントロールがデータをバインドすると、線が灰色になり、列のサイズを変更するとテキストが読めなくなります。

選択した行を強調表示せずに DataGridView 内にデータを表示するにはどうすればよいですか?

4

1 に答える 1

5

SelectionForeColorandSelectionBackColorプロパティを、ハイライトの色を変更したい色に設定できます。DefaultCellStyleこれは、DataGridViewのプロパティ、または個々のセル自体のいずれかに設定できます。このように、行が選択されたときに色が変更されることはありません。

Private Sub dgv_CellFormatting(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles dgv.CellFormatting
    If e.RowIndex < 0 Then Exit Sub

    If e.RowIndex Mod 2 = 0 Then
        e.CellStyle.BackColor = Color.Orange
    Else
        e.CellStyle.BackColor = Color.Red
    End If

    'Make the selected cell the same color
    e.CellStyle.SelectionBackColor = e.CellStyle.BackColor
    e.CellStyle.SelectionForeColor = e.CellStyle.ForeColor
End Sub
于 2008-12-02T15:31:40.670 に答える