Delegato ListObjectChangeHandler
rappresenta il metodo che gestirà Change evento di un oggetto ListObject.
Spazio dei nomi: Microsoft.Office.Tools.Excel
Assembly: Microsoft.Office.Tools.Excel (in Microsoft.Office.Tools.Excel.dll)
Sintassi
'Dichiarazione
Public Delegate Sub ListObjectChangeHandler ( _
targetRange As Range, _
changedRanges As ListRanges _
)
public delegate void ListObjectChangeHandler(
Range targetRange,
ListRanges changedRanges
)
Parametri
- targetRange
Tipo: Microsoft.Office.Interop.Excel.Range
Range la modifica si è verificata in.
- changedRanges
Tipo: Microsoft.Office.Tools.Excel.ListRanges
Le aree di ListObject contenente le modifiche.
Note
Quando si crea un oggetto ListObjectChangeHandler delegato, per identificare il metodo che gestisce l'evento. Per associare l'evento al gestore eventi, aggiungere un'istanza del delegato all'evento. Il metodo del gestore eventi viene chiamato ogni volta che si verifica l'evento a meno che rimuovere il delegato. per ulteriori informazioni sui delegati, vedere Eventi e delegati.
Esempi
Nell'esempio di codice riportato di seguito viene creato un oggetto ListObject e Change gestore eventi. Per generare Change l'evento, aggiungere testo a una delle celle in ListObject quindi premere INVIO.
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;
}
}