使用C#开发VSTO中的BeforeDoubleClick事件

2019-12-26  本文已影响0人  何未生

在VBA中曾使用过BeforeDoubleClick事件,不过是WorkSheet层级的,代码需要放在工作表的代码模块中,具体如下:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

End Sub

可以用Target获取双击的单元格区域。

如果在VSTO开发中用C#中实现,可以用如下代码

private void CheckBox_Click(object sender, RibbonControlEventArgs e)
{
    private Excel.Application ExcelApp;
    ExcelApp = Globals.ThisAddIn.Application;
    if (CheckBAJ.Checked)
    {
        //如果选中就添加如下双击事件
        ExcelApp.SheetBeforeDoubleClick += new Excel.AppEvents_SheetBeforeDoubleClickEventHandler(CheckDoubleClick);
    }
    else 
     {
        //如果取消选中就取消该双击事件
        ExcelApp.SheetBeforeDoubleClick -= new Excel.AppEvents_SheetBeforeDoubleClickEventHandler(CheckDoubleClick);
    }
    
}

private void CheckDoubleClick()
{
    MessageBox.Show("你双击了");
}

如果需要取消双击后默认的编辑事件,可以将CancelEventArgs的对象的参数设置为true。

//取消默认双击事件
Cancel = true;

上一篇下一篇

猜你喜欢

热点阅读