ListObjectChangeHandler مفوَّض
تمثل أسلوب الذي سيقوم بمعالجة Changeحدث من ListObject.
مساحة الاسم: Microsoft.Office.Tools.Excel
التجميع: Microsoft.Office.Tools.Excel (في Microsoft.Office.Tools.Excel.dll)
بناء الجملة
'إقرار
Public Delegate Sub ListObjectChangeHandler ( _
targetRange As Range, _
changedRanges As ListRanges _
)
public delegate void ListObjectChangeHandler(
Range targetRange,
ListRanges changedRanges
)
المعلمات
- targetRange
النوع: Microsoft.Office.Interop.Excel.Range
Rangeحدوث تغيير بوصة
- changedRanges
النوع: Microsoft.Office.Tools.Excel.ListRanges
نواحي ListObjectالتي تحتوي على التغييرات.
ملاحظات
عندما تقوم بإنشاء ListObjectChangeHandlerتفويض، تتعرف على الطريقة التي سيقوم بمعالجة حدث. إلى ربط حدث مع معالج الأحداث الخاص بك، إضافة مثيل المفوض إلى حدث. تم استدعاء الأسلوب معالج حدث كلما حصل حدث إلا إذا قمت بإزالة المفوض. للحصول على مزيد من المعلومات حول التفويضات، راجع أحداث و مفوضون.
أمثلة
يلي تعليمات برمجية المثال، يتم إنشاء أحد ListObjectو Changeمعالج حدث. لرفع Changeحدث، وإضافة نص إلى إحدى خلايا في ListObjectو ثم اضغط مفتاح الإدخال Enter الزر.
WithEvents ChangeList As Microsoft.Office.Tools.Excel.ListObject
Private Sub ListObject_Change()
ChangeList = Me.Controls.AddListObject( _
Me.Range("A1", "C4"), "ChangeList")
End Sub
Sub List1_Change(ByVal targetRange As _
Microsoft.Office.Interop.Excel.Range, _
ByVal changedRanges As Microsoft.Office.Tools.Excel.ListRanges) _
Handles ChangeList.Change
Dim cellAddress As String = targetRange.Address( _
ReferenceStyle:=Excel.XlReferenceStyle.xlA1)
Select Case changedRanges
Case Microsoft.Office.Tools.Excel.ListRanges.DataBodyRange
MsgBox("The cells at range " & cellAddress & _
" in the data body changed.")
Case Microsoft.Office.Tools.Excel.ListRanges.HeaderRowRange
MsgBox("The cells at range " & cellAddress & _
" in the header row changed.")
Case Microsoft.Office.Tools.Excel.ListRanges.TotalsRowRange
MsgBox("The cells at range " & cellAddress & _
" in the totals row changed.")
Case Else
MsgBox("The cells at range " & cellAddress & _
" changed.")
End Select
End Sub
private void ListObject_Change()
{
Microsoft.Office.Tools.Excel.ListObject list1 =
this.Controls.AddListObject(
this.Range["A1", "C4"], "list1");
list1.Change += new Microsoft.Office.Tools.Excel.
ListObjectChangeHandler(list1_Change);
}
void list1_Change(Microsoft.Office.Interop.Excel.Range
targetRange, Microsoft.Office.Tools.Excel.ListRanges
changedRanges)
{
string cellAddress = targetRange.get_Address(
missing, missing, Excel.XlReferenceStyle.xlA1,
missing, missing);
switch (changedRanges)
{
case Microsoft.Office.Tools.Excel.ListRanges.DataBodyRange:
MessageBox.Show("The cells at range " + cellAddress +
" in the data body changed.");
break;
case Microsoft.Office.Tools.Excel.ListRanges.HeaderRowRange:
MessageBox.Show("The cells at range " + cellAddress +
" in the header row changed.");
break;
case Microsoft.Office.Tools.Excel.ListRanges.TotalsRowRange:
MessageBox.Show("The cells at range " + cellAddress +
" in the totals row changed.");
break;
default:
MessageBox.Show("The cells at range " + cellAddress +
" changed.");
break;
}
}