我正在继承 DataGridView 以扩展和绑定一些常见的功能。
在这里,我覆盖了几个(大约 10 个)事件,除了 onPaint 事件之外一切正常。
代码:
Imports System.ComponentModel
Public Class xDataGridView
Inherits DataGridView
Private _selected_row As Integer
Protected Overrides Sub onPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
sel_row = Me.CurrentRow.Index + 1
MyBase.OnPaint(e)
End Sub
<Browsable(True)> _
Public Property sel_row() As Integer
Get
Return _selected_row
End Get
Set(ByVal Value As Integer)
_selected_row = Value
End Set
End Property
End Class
在包含 _Paint 事件处理程序下的此类的主窗体中,我想将选定的行作为公共属性: mySel_row = myDGV.sel_row
当我尝试在 VBIDE 中打开主窗体的设计器时,代替 DGV 是红色的大红色“X”边界。
System.NullReferenceException:对象引用未设置为对象的实例。
但是,如果我启动一个程序,它可以正常工作。此类中的所有其他事件也可以正常工作,并且不会报告。
这个错误的原因可能是什么?