DataGridView的自定义Column类该怎样处理它的控件事件?
我参照MS的DataGridViewCalendarEditingControl例子建了一个自定义的Column,它继承自一个由TextBox和Button控件组成的自定义控件,我在 Form1 里面添加一个 DataGridView,并向其内成功添加了这个自定义的Column,Form1 的部分代码如下:
Public Sub New()
Me.dataGridView1.Dock = DockStyle.Fill
Me.Controls.Add(Me.dataGridView1)
Me.Text = "DataGridView InteractiveTextBox column demo"
Me.StartPosition = FormStartPosition.CenterScreen
End Sub
Private Sub InteractiveSearch_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
Dim col As New DataGridViewInteractiveTextBoxColumn
Me.dataGridView1.Columns.Add(col)
Me.dataGridView1.RowCount = 5
Dim ctl As New DataGridViewInteractiveTextBoxControl
AddHandler ctl.ButtonClick, AddressOf testEvent
End Sub
Private Sub testEvent()
MsgBox("test")
End Sub
另外还有 DataGridViewInteractiveTextBoxColumn 类和 DataGridViewInteractiveTextBoxCell 类,都是跟 MS 的例子一样做法
我在 DataGridViewInteractiveTextBoxControl 内定义了事件,以下是部分代码
Public Class DataGridViewInteractiveTextBoxControl
Implements IDataGridViewEditingControl
Public Event ButtonClick()
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
RaiseEvent ButtonClick()
End Sub
我是希望可以通过点击自定义控件 DataGridViewInteractiveTextBoxControl 上的 Button1,然后执行 Form1 上的 testEvent
目前情况是点击了Button1按钮后,testEvent里面的代码没有执行,我应该怎样做?
[解决办法]
目前还存在一个Cell显示风格的问题,见贴:如何让DataGridView自定义的ColumnType显示出设计时的风格?
目前还未解决