C# 从双击取消订阅DataGridView

C# 从双击取消订阅DataGridView,c#,winforms,delegates,event-handling,C#,Winforms,Delegates,Event Handling,我正在使用WinFormsDataGridView控件。我已将此控件置于基本窗体中,并将其订阅到双击事件中。但是在继承的表单上,我想从父事件取消订阅它,并将其订阅到一个新事件。这可能吗?一个简单的解决方案是标记订阅的方法virtual并将继承的表单覆盖它。一个简单的解决方案是标记订阅的方法virtual并将继承的表单覆盖它。您需要将protected值设置为DataGridView1。修饰符属性,并将DoubleClick处理程序的DataGridView1\u DoubleClick的修饰符更

我正在使用WinForms
DataGridView
控件。我已将此控件置于基本窗体中,并将其订阅到
双击事件中。但是在继承的表单上,我想从父事件取消订阅它,并将其订阅到一个新事件。这可能吗?

一个简单的解决方案是标记订阅的方法
virtual
并将继承的表单
覆盖它。

一个简单的解决方案是标记订阅的方法
virtual
并将继承的表单
覆盖它。

您需要将
protected
值设置为
DataGridView1。修饰符
属性,并将
DoubleClick
处理程序的
DataGridView1\u DoubleClick
的修饰符更改为受保护

基本形式

protected void DataGridView1_DoubleClick(object sender, EventArgs e)
{
}
在继承自的加载处理程序中

//To unregister handler
DataGridView1.DoubleClick-=new EventHandler(DataGridView1_DoubleClick); 
//Register new handler
DataGridView1.DoubleClick+=new EventHandler(NewDataGridView1_DoubleClick); 

您需要将
protected
值设置为
DataGridView1。修饰符
属性,并将
DataGridView1的
DoubleClick
处理程序的修饰符更改为protected

基本形式

protected void DataGridView1_DoubleClick(object sender, EventArgs e)
{
}
在继承自的加载处理程序中

//To unregister handler
DataGridView1.DoubleClick-=new EventHandler(DataGridView1_DoubleClick); 
//Register new handler
DataGridView1.DoubleClick+=new EventHandler(NewDataGridView1_DoubleClick);