CurrencyManager.ItemChanged イベント
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文
Dim instance As CurrencyManager Dim handler As ItemChangedEventHandler AddHandler instance.ItemChanged, handler
public: event ItemChangedEventHandler^ ItemChanged { void add (ItemChangedEventHandler^ value); void remove (ItemChangedEventHandler^ value); }
ItemChanged イベントは、ユーザーが ResumeBinding メソッドまたは SuspendBinding メソッドを呼び出すと発生します。
ItemChanged イベントは、項目がなんらかの形で変更されている場合にだけ発生します。たとえば、項目の値が 10 から 42 に変更されると、このイベントが発生します。このイベントは、項目が新しい項目に変更された場合に発生する PositionChanged イベントとは異なります。
このイベントは、基になるデータが変更されても発生します。たとえば、DataRowView の値を変更すると、ItemChanged イベントが発生します。
メモ |
---|
CurrencyManager を使用する独自のコントロールを作成する場合は、CurrencyManager.ItemChanged イベントではなく、IBindingList.ListChanged イベントを使用します。ListChangedEventArgs の ListChangedType プロパティを使用すると、発生したアクションの種類を判断できます。 |
ItemChanged イベントと PositionChanged イベントのイベント ハンドラを追加するコード例を次に示します。
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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
- CurrencyManager.ItemChanged イベントのページへのリンク