Binding.BindingComplete Event
Occurs when the FormattingEnabled property is set to true and a binding operation is complete, such as when data is pushed from the control to the data source or vice versa
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
This event is raised under any of the following conditions when FormattingEnabled is true:
Data from the data source is pushed onto the control property.
Data from the control property is pushed onto the data source.
This event is raised at the completion of these operations, independent of the completion status. For example, if a binding operation binds a null value to a Value property, an exception is thrown, but the BindingComplete event still occurs. The handler of this event can take the appropriate action, based on the success, error, or exceptions in the binding process, by examining the BindingCompleteState property of the BindingCompleteEventArgs parameter.
For more information about handling events, see Consuming Events.
The following code example demonstrates how to handle the BindingComplete event.
Imports System Imports System.Drawing Imports System.Windows.Forms Class Form1 Inherits Form Private BindingSource1 As New BindingSource() Private textBox1 As New TextBox() Private textBox2 As New TextBox() Private textBox3 As New TextBox() Public Sub New() 'Set up the textbox controls. Me.textBox1.Location = New System.Drawing.Point(82, 13) Me.textBox1.TabIndex = 1 Me.textBox2.Location = New System.Drawing.Point(81, 47) Me.textBox2.TabIndex = 2 Me.textBox3.Location = New System.Drawing.Point(81, 83) Me.textBox3.TabIndex = 3 ' Add the textbox controls to the form Me.Controls.Add(Me.textBox2) Me.Controls.Add(Me.textBox1) Me.Controls.Add(Me.textBox3) End Sub Private WithEvents partNameBinding As Binding Private WithEvents partNumberBinding As Binding Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) _ Handles Me.Load ' Set the DataSource of BindingSource1 to the Part type. BindingSource1.DataSource = GetType(Part) ' Bind the textboxes to the properties of the Part type, ' enabling formatting. partNameBinding = textBox1.DataBindings.Add("Text", BindingSource1, _ "PartName", True) partNumberBinding = textBox2.DataBindings.Add("Text", BindingSource1, _ "PartNumber", True) 'Bind the textbox to the PartPrice value with currency formatting. textBox3.DataBindings.Add("Text", BindingSource1, "PartPrice", _ True, DataSourceUpdateMode.OnPropertyChanged, 0, "C") ' Add a new part to BindingSource1. BindingSource1.Add(New Part("Widget", 1234, 12.45)) End Sub ' Handle the BindingComplete event to catch errors and exceptions ' in binding process. Sub partNumberBinding_BindingComplete(ByVal sender As Object, _ ByVal e As BindingCompleteEventArgs) _ Handles partNumberBinding.BindingComplete If Not e.BindingCompleteState = BindingCompleteState.Success Then MessageBox.Show("partNumberBinding: " + e.ErrorText) End If End Sub ' Handle the BindingComplete event to catch errors and exceptions ' in binding process. Sub partNameBinding_BindingComplete(ByVal sender As Object, _ ByVal e As BindingCompleteEventArgs) _ Handles partNameBinding.BindingComplete If Not e.BindingCompleteState = BindingCompleteState.Success Then MessageBox.Show("partNameBinding: " + e.ErrorText) End If End Sub <STAThread()> _ Shared Sub Main() Application.EnableVisualStyles() Application.Run(New Form1()) End Sub End Class ' Represents a business object that throws exceptions when invalid ' values are entered for some of its properties. Public Class Part Private name As String Private number As Integer Private price As Double Public Sub New(ByVal name As String, ByVal number As Integer, _ ByVal price As Double) PartName = name PartNumber = number PartPrice = price End Sub Public Property PartName() As String Get Return name End Get Set(ByVal value As String) If Value.Length <= 0 Then Throw New Exception("Each part must have a name.") Else name = Value End If End Set End Property Public Property PartPrice() As Double Get Return price End Get Set(ByVal value As Double) price = Value End Set End Property Public Property PartNumber() As Integer Get Return number End Get Set(ByVal value As Integer) If Value < 100 Then Throw New Exception("Invalid part number." _ & " Part numbers must be greater than 100.") Else number = Value End If End Set End Property End Class
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.