Поделиться через


CurrencyManager.ItemChanged Событие

Определение

Происходит при изменении текущего элемента.

public:
 event System::Windows::Forms::ItemChangedEventHandler ^ ItemChanged;
public event System.Windows.Forms.ItemChangedEventHandler ItemChanged;
public event System.Windows.Forms.ItemChangedEventHandler? ItemChanged;
member this.ItemChanged : System.Windows.Forms.ItemChangedEventHandler 
Public Custom Event ItemChanged As ItemChangedEventHandler 

Тип события

Примеры

В следующем примере кода добавляются обработчики ItemChanged событий для событий и PositionChanged .

void BindControl( DataTable^ myTable )
{
   
   // Bind A TextBox control to a DataTable column in a DataSet.
   textBox1->DataBindings->Add( "Text", myTable, "CompanyName" );
   
   // Specify the CurrencyManager for the DataTable.
   myCurrencyManager = dynamic_cast<CurrencyManager^>(this->BindingContext[myTable, ""]);
   
   // Add event handlers.
   myCurrencyManager->ItemChanged += gcnew ItemChangedEventHandler( this, &Form1::CurrencyManager_ItemChanged );
   myCurrencyManager->PositionChanged += gcnew EventHandler( this, &Form1::CurrencyManager_PositionChanged );
   
   // Set the initial Position of the control.
   myCurrencyManager->Position = 0;
}

void CurrencyManager_PositionChanged( Object^ sender, System::EventArgs^ /*e*/ )
{
   CurrencyManager^ myCurrencyManager = dynamic_cast<CurrencyManager^>(sender);
   Console::WriteLine( "Position Changed {0}", myCurrencyManager->Position );
}

void CurrencyManager_ItemChanged( Object^ sender, System::Windows::Forms::ItemChangedEventArgs^ /*e*/ )
{
   CurrencyManager^ myCurrencyManager = dynamic_cast<CurrencyManager^>(sender);
   Console::WriteLine( "Item Changed {0}", myCurrencyManager->Position );
}
   private void BindControl(DataTable myTable)
   {
       // Bind A TextBox control to a DataTable column in a DataSet.
       textBox1.DataBindings.Add("Text", myTable, "CompanyName");
       // Specify the CurrencyManager for the DataTable.
       myCurrencyManager = (CurrencyManager)this.BindingContext[myTable, ""];
       // Add event handlers.
       myCurrencyManager.ItemChanged+=
       new ItemChangedEventHandler(CurrencyManager_ItemChanged);
       myCurrencyManager.PositionChanged+= 
       new EventHandler(CurrencyManager_PositionChanged);
       // Set the initial Position of the control.
       myCurrencyManager.Position = 0;
   }

   private void CurrencyManager_PositionChanged(object sender, System.EventArgs e){
       CurrencyManager myCurrencyManager = (CurrencyManager) sender;
       Console.WriteLine("Position Changed " + myCurrencyManager.Position);
   }

   private void CurrencyManager_ItemChanged(object sender, System.Windows.Forms.ItemChangedEventArgs e){
       CurrencyManager myCurrencyManager = (CurrencyManager) sender;
       Console.WriteLine("Item Changed " + myCurrencyManager.Position);
   }
Private Sub BindControl(myTable As DataTable)
    ' Bind A TextBox control to a DataTable column in a DataSet.
    textBox1.DataBindings.Add("Text", myTable, "CompanyName")
    ' Specify the CurrencyManager for the DataTable.
    myCurrencyManager = CType(Me.BindingContext(myTable, ""), CurrencyManager)
    ' Add event handlers.
    AddHandler myCurrencyManager.ItemChanged, AddressOf CurrencyManager_ItemChanged
    AddHandler myCurrencyManager.PositionChanged, AddressOf CurrencyManager_PositionChanged
    ' Set the initial Position of the control.
    myCurrencyManager.Position = 0
End Sub


Private Sub CurrencyManager_PositionChanged(sender As Object, e As System.EventArgs)
    Dim myCurrencyManager As CurrencyManager = CType(sender, CurrencyManager)
    Console.WriteLine(("Position Changed " & myCurrencyManager.Position))
End Sub


Private Sub CurrencyManager_ItemChanged(sender As Object, e As System.Windows.Forms.ItemChangedEventArgs)
    Dim myCurrencyManager As CurrencyManager = CType(sender, CurrencyManager)
    Console.WriteLine(("Item Changed " & myCurrencyManager.Position))
End Sub

Комментарии

Событие ItemChanged возникает, когда пользователь вызывает ResumeBinding метод или SuspendBinding .

Событие ItemChanged возникает только в том случае, если сам элемент был каким-то образом изменен. Например, если значение элемента изменяется с 10 на 42, произойдет событие . Это не следует путать с событием PositionChanged , в котором элемент был изменен на новый.

Это событие также возникает при изменении базовых данных. Например, если изменить значение DataRowView, ItemChanged произойдет событие .

Примечание

При создании собственного элемента управления, использующего CurrencyManager, следует использовать IBindingList.ListChanged вместо CurrencyManager.ItemChanged события . Свойство ListChangedTypeListChangedEventArgs объекта позволяет определить тип выполненного действия.

Дополнительные сведения об обработке событий см. в разделе Обработка и вызов событий.

Применяется к

См. также раздел