美文网首页
使用C#开发VSTO中的BeforeDoubleClick事件

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

作者: 何未生 | 来源:发表于2019-12-26 19:31 被阅读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;

相关文章

网友评论

      本文标题:使用C#开发VSTO中的BeforeDoubleClick事件

      本文链接:https://www.haomeiwen.com/subject/vzuloctx.html