在VBA中曾使用過(guò)BeforeDoubleClick事件虱饿,不過(guò)是WorkSheet層級(jí)的,代碼需要放在工作表的代碼模塊中,具體如下:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
End Sub
可以用Target獲取雙擊的單元格區(qū)域筷厘。
如果在VSTO開(kāi)發(fā)中用C#中實(shí)現(xiàn)鸣峭,可以用如下代碼
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("你雙擊了");
}
如果需要取消雙擊后默認(rèn)的編輯事件,可以將CancelEventArgs的對(duì)象的參數(shù)設(shè)置為true酥艳。
//取消默認(rèn)雙擊事件
Cancel = true;