取消订阅DoubleClick的DataGridView

时间:2011-12-31 02:41:08

标签: c# winforms delegates event-handling

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

2 个答案:

答案 0 :(得分:3)

您需要将protected值设置为DataGridView1.Modifiers属性,并将DoubleClick DataGridView1_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); 

答案 1 :(得分:0)

一个简单的解决方案是标记订阅的方法virtual并继承表单override