CurrencyManager.ItemChanged 事件

在当前项更改后发生。

**命名空间:**System.Windows.Forms
**程序集:**System.Windows.Forms(在 system.windows.forms.dll 中)

语法

声明
Public Event ItemChanged As ItemChangedEventHandler
用法
Dim instance As CurrencyManager
Dim handler As ItemChangedEventHandler

AddHandler instance.ItemChanged, handler
public event ItemChangedEventHandler ItemChanged
public:
event ItemChangedEventHandler^ ItemChanged {
    void add (ItemChangedEventHandler^ value);
    void remove (ItemChangedEventHandler^ value);
}
/** @event */
public void add_ItemChanged (ItemChangedEventHandler value)

/** @event */
public void remove_ItemChanged (ItemChangedEventHandler value)
JScript 支持使用事件,但不支持进行新的声明。

备注

ItemChanged 事件在用户调用 ResumeBindingSuspendBinding 方法时发生。

仅当项自身以某种方式更改后,才会发生 ItemChanged 事件。例如,如果某项的值从 10 更改为 42,则发生该事件。不要将此事件与 PositionChanged 事件混淆,后一事件中,项被更改为一个新项。

如果基础数据发生更改,则也将发生该事件。例如,如果更改 DataRowView 的值,则将发生 ItemChanged 事件。

提示

如果要自己创建使用 CurrencyManager 的控件,应使用 IBindingList.ListChanged 而不要使用 CurrencyManager.ItemChanged 事件。使用 ListChangedEventArgsListChangedType 属性可以确定已发生的操作的类型。

有关处理事件的更多信息,请参见 使用事件

示例

下面的代码示例为 ItemChangedPositionChanged 事件添加事件处理程序。

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 'BindControl


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 'CurrencyManager_PositionChanged


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 'CurrencyManager_ItemChanged
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);
}
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.get_DataBindings().Add("Text", myTable, "CompanyName");
    // Specify the CurrencyManager for the DataTable.
    myCurrencyManager = (CurrencyManager)(this.get_BindingContext().
        get_Item(myTable, ""));
    // Add event handlers.
    myCurrencyManager.add_ItemChanged(
        new ItemChangedEventHandler(CurrencyManager_ItemChanged));
    myCurrencyManager.add_PositionChanged(
        new EventHandler(CurrencyManager_PositionChanged));
    // Set the initial Position of the control.
    myCurrencyManager.set_Position(0);
} //BindControl

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

private void CurrencyManager_ItemChanged(Object sender, 
    System.Windows.Forms.ItemChangedEventArgs e)
{
    CurrencyManager myCurrencyManager = (CurrencyManager)(sender);

    Console.WriteLine("Item Changed " + myCurrencyManager.get_Position());
} //CurrencyManager_ItemChanged
private function BindControl(myTable : 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 = CurrencyManager(this.BindingContext[myTable, ""]);
    // Add event handlers.
    myCurrencyManager.add_ItemChanged(CurrencyManager_ItemChanged);
    myCurrencyManager.add_PositionChanged(CurrencyManager_PositionChanged);
    // Set the initial Position of the control.
    myCurrencyManager.Position = 0;
}
 
private function CurrencyManager_PositionChanged(sender, e : System.EventArgs){
    var myCurrencyManager : CurrencyManager = CurrencyManager(sender);
    Console.WriteLine("Position Changed " + myCurrencyManager.Position);
}

private function CurrencyManager_ItemChanged(sender, e : System.Windows.Forms.ItemChangedEventArgs){
    var myCurrencyManager : CurrencyManager = CurrencyManager(sender);
    Console.WriteLine("Item Changed " + myCurrencyManager.Position);
}

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

CurrencyManager 类
CurrencyManager 成员
System.Windows.Forms 命名空间
BindingManagerBase.PositionChanged 事件