Обвод контуром DataGridViewRow - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Привет всем! Подскажите, пожалуйста, каким образом сделать так, чтобы вся активная строка моей DataGridView обводилась контуром выбранного цвета, а после того, как эта строка становилась неактивной, это обведение исчезало? С отдельной ячейкой понятно, использую CellPainting, но вот как всю активную строку обводить? Спасибо!
Решил задачку. Кому интересно, вот код на VB:
Cвойство

SelectionMode

вашей DataGridView должно быть установлено в

FullRowSelect

Решение задачи: «Обвод контуром DataGridViewRow»

textual
Листинг программы
Private Sub DataGridView1_SelectionChanged(sender As System.Object, e As System.EventArgs) Handles DataGridView1.SelectionChanged
    DataGridView1.Invalidate()
End Sub
Private Sub DataGridView1_RowPostPaint(sender As System.Object, e As System.Windows.Forms.DataGridViewRowPostPaintEventArgs) Handles DataGridView1.RowPostPaint
    If (e.State And DataGridViewElementStates.Selected) = DataGridViewElementStates.Selected Then
        Dim rowBounds As Rectangle = DataGridView1.GetRowDisplayRectangle(e.RowIndex, True)
        Dim pn As Pen = New Pen(Brushes.Red, 2)
        Try
            e.Graphics.DrawRectangle(pn, rowBounds)
        Finally
            pn.Dispose()
        End Try
    End If
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.444 из 5