ListObjectChangeHandler Temsilci
İşleyeceği yöntemini gösteren Change olayının bir ListObject.
Ad alanı: Microsoft.Office.Tools.Excel
Derleme: Microsoft.Office.Tools.Excel (Microsoft.Office.Tools.Excel.dll içinde)
Sözdizimi
'Bildirim
Public Delegate Sub ListObjectChangeHandler ( _
targetRange As Range, _
changedRanges As ListRanges _
)
public delegate void ListObjectChangeHandler(
Range targetRange,
ListRanges changedRanges
)
Parametreler
- targetRange
Tür: Microsoft.Office.Interop.Excel.Range
Range , Değişikliği oluştu.
- changedRanges
Tür: Microsoft.Office.Tools.Excel.ListRanges
Alanlarının ListObject değişiklikler içeriyor.
Notlar
Oluşturduğunuzda, bir ListObjectChangeHandler temsilci, olay işleyecek yöntemi tanımlar.Olay, olay işleyicisi ile ilişkilendirmek için temsilcinin oluşumu için olay ekleyin.Temsilci kaldırmazsanız olayı her gerçekleştiğinde olay işleyicisi yöntemi çağrılır.Temsilciler hakkında daha fazla bilgi için bkz: Olaylar ve temsilciler.
Örnekler
Aşağıdaki kod örneği oluşturur bir ListObject ve bir Change olay işleyicisi.Yükseltmek için Change olay, biri hücrelerde metin eklemek ListObject yazıp enter tuşuna basın.
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(
Excel.XlReferenceStyle.xlA1
);
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;
}
}