【问题标题】:Unsubscribe DataGridView from DoubleClick从 DoubleClick 取消订阅 DataGridView
【发布时间】:2011-12-31 02:41:08
【问题描述】:

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

【问题讨论】:

    标签: c# winforms delegates event-handling


    【解决方案1】:

    您需要将protected 的值设置为DataGridView1.Modifiers 属性并将DataGridView1_DoubleClickDoubleClick 处理程序的修饰符更改为受保护。

    基本形式,

    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); 
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-12-18
        • 2020-08-29
        • 2016-07-23
        • 2022-01-19
        • 2017-12-18
        • 2012-03-14
        • 2016-07-27
        • 1970-01-01
        相关资源
        最近更新 更多