Обвод контуром 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д