Cellpainttingで描画したセルを選択したい。
- 題名: Cellpainttingで描画したセルを選択したい。
- 著者: パル
- 日時: 2013/01/29 1:22:33
- ID: 31276
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: Cellpainttingで描画したセルを選択したい。
- 著者: 魔界の仮面弁士
- 日時: 2013/01/29 10:19:54
- ID: 31277
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: Cellpainttingで描画したセルを選択したい。
- 著者: パル
- 日時: 2013/01/30 1:09:31
- ID: 31278
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
■VBのバージョン : Visual Basic 2008
こんにちは。
CellpainttingイベントでDateGridViewを強調させたように表示してみたのですが、その部分のセルをクリックして選択してもフォーカスが当たったようにバックが青くなりません。またセル内の黒字が赤になってしまいます。
どのようにしたら解消できるでしょうか?
Private Sub DGV_LIST_CellPainting(ByVal sender As Object, ByVal e As_
System.Windows.Forms.DataGridViewCellPaintingEventArgs) _
Handles DGV_LIST.CellPainting
If DGV_LIST.Columns(Loop_COU).Index = e.ColumnIndexAndAlso _
e.RowIndex >= 0 Then
Dim newRect As New Rectangle(e.CellBounds.X,e.CellBounds.Y, _
e.CellBounds.Width - 2, e.CellBounds.Height - 2)
Dim backColorBrush As New SolidBrush(e.CellStyle.BackColor)
Dim gridBrush As New SolidBrush(DGV_LIST.GridColor)
Dim gridLinePen As New Pen(gridBrush)
e.Graphics.FillRectangle(backColorBrush,e.CellBounds)
e.Graphics.DrawLine(gridLinePen,e.CellBounds.Left,e.CellBounds.Bottom - 1,
e.CellBounds.Right - 1,e.CellBounds.Bottom - 1)
e.Graphics.DrawLine(gridLinePen,e.CellBounds.Right - 1, e.CellBounds.Top, _
e.CellBounds.Right - 1,e.CellBounds.Bottom)
e.Graphics.DrawRectangle(Pens.Black, newRect)
If Not (e.Value Is Nothing) Then
e.Graphics.DrawString(CStr(e.Value),e.CellStyle.Font,Brushes.Crimson,e.CellBounds.
_X + 2, e.CellBounds.Y +2, StringFormat.GenericDefault)
End If
e.Handled = True
End If
End Sub