ListObject.SelectionChange 事件 (2007 system)

更新: 2008 年 7 月

ListObject 控件内部的所选内容更改时发生。

命名空间:  Microsoft.Office.Tools.Excel
程序集:  Microsoft.Office.Tools.Excel.v9.0(在 Microsoft.Office.Tools.Excel.v9.0.dll 中)

语法

声明
Public Event SelectionChange As DocEvents_SelectionChangeEventHandler
用法
Dim instance As ListObject
Dim handler As DocEvents_SelectionChangeEventHandler

AddHandler instance.SelectionChange, handler
public event DocEvents_SelectionChangeEventHandler SelectionChange

备注

ListObject 中的任何选定范围发生更改时,将引发此事件。

当将焦点从 ListObject 控件内部移到 ListObject 控件外部时,不引发此事件。当将焦点从 ListObject 控件外部移到 ListObject 控件时,将引发此事件。

示例

下面的代码示例创建一个 ListObject,然后为 SelectionChange 事件创建事件处理程序。若要测试此事件处理程序,请在 ListObject 中选择一个单元格,然后在 ListObject 中选择另一个单元格。

此版本针对的是文档级自定义项。

WithEvents SelectionChangeList As Microsoft.Office.Tools.Excel.ListObject
Private Sub ListObject_SelectionChange()
    SelectionChangeList = Me.Controls.AddListObject( _
        Me.Range("A1", "C4"), "SelectionChangeList")
End Sub


Sub List1_SelectionChange(ByVal Target As _
    Microsoft.Office.Interop.Excel.Range) _
    Handles SelectionChangeList.SelectionChange
    MessageBox.Show("The selection in the list object has changed.")
End Sub

private void ListObject_SelectionChange()
{
    Microsoft.Office.Tools.Excel.ListObject list1 =
        this.Controls.AddListObject(
        this.Range["A1", "C4"], "list1");
    list1.SelectionChange += new Microsoft.Office.Interop.
        Excel.DocEvents_SelectionChangeEventHandler(
        list1_SelectionChange);
}

void list1_SelectionChange(Microsoft.Office.Interop.Excel.Range Target)
{
    MessageBox.Show("The selection in the list object has changed.");
}

此版本针对的是应用程序级外接程序。

WithEvents SelectionChangeList As ListObject
Private Sub ListObject_SelectionChange()
    Dim vstoWorksheet As Worksheet = CType( _
        Me.Application.ActiveWorkbook.Worksheets(1),  _
        Excel.Worksheet).GetVstoObject()
    SelectionChangeList = vstoWorksheet.Controls.AddListObject( _
        vstoWorksheet.Range("A1", "C4"), "SelectionChangeList")
End Sub


Sub List1_SelectionChange(ByVal Target As  _
    Microsoft.Office.Interop.Excel.Range) _
    Handles SelectionChangeList.SelectionChange
    System.Windows.Forms.MessageBox.Show( _
        "The selection in the list object has changed.")
End Sub
private void ListObject_SelectionChange()
{
    Worksheet vstoWorksheet = ((Excel.Worksheet)
        this.Application.ActiveWorkbook.Worksheets[1]).GetVstoObject();
    ListObject list1 =
        vstoWorksheet.Controls.AddListObject(
        vstoWorksheet.Range["A1", "C4"], "list1");
    list1.SelectionChange += new 
        Excel.DocEvents_SelectionChangeEventHandler(
        list1_SelectionChange);
}

void list1_SelectionChange(Excel.Range Target)
{
    System.Windows.Forms.MessageBox.Show("The selection in the list object has changed.");
}

权限

另请参见

参考

ListObject 类

ListObject 成员

Microsoft.Office.Tools.Excel 命名空间

修订记录

日期

修订记录

原因

2008 年 7 月

添加了一个针对应用程序级外接程序的代码示例版本。

SP1 功能更改。