使用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;