在WinForms上显示的DataGridView

时间:2013-12-15 21:13:42

标签: vb.net datagridview

我在Form上有几个带有“FullRowSelection”的DataGridViews,因此我(像用户一样)必须知道哪个DGV有焦点(如果有的话)。

为此,我为每个DGV(或子类)中的_GotFocus和_LostFocus处理程序更改所选行背景的颜色。

Private Sub DataGridView1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGridView1.GotFocus
    DataGridView1.RowsDefaultCellStyle.SelectionBackColor = Color.FromKnownColor(KnownColor.Highlight)
End Sub

Private Sub DataGridView1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGridView1.LostFocus
    DataGridView1.RowsDefaultCellStyle.SelectionBackColor = Color.DarkGray
End Sub

这样,当DGV获得焦点时,选择的行是典型的蓝色,当DGV失去焦点时,选择的行为灰色。这项工作没问题,但存在一个问题。

当加载表单时,无论是否有焦点,所有DGV都有蓝色选择行。

如何进入显示没有焦点的DGV出现灰色选择行的情况?

0 个答案:

没有答案