Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Stellt die Methode dar, die das ControlAdded-Ereignis und das ControlRemoved-Ereignis der Control-Klasse behandelt.
Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)
Syntax
'Declaration
Public Delegate Sub ControlEventHandler ( _
sender As Object, _
e As ControlEventArgs _
)
'Usage
Dim instance As New ControlEventHandler(AddressOf HandlerMethod)
public delegate void ControlEventHandler (
Object sender,
ControlEventArgs e
)
public delegate void ControlEventHandler (
Object^ sender,
ControlEventArgs^ e
)
/** @delegate */
public delegate void ControlEventHandler (
Object sender,
ControlEventArgs e
)
JScript unterstützt die Verwendung von Delegaten, aber nicht die Deklaration von neuen Delegaten.
Parameter
- sender
Die Quelle des Ereignisses.
- e
Eine Instanz von ControlEventArgs, die die Ereignisdaten enthält.
Hinweise
Beim Erstellen eines ControlEventArgs-Delegaten geben Sie die Methode für die Ereignisbehandlung an. Um das Ereignis dem Ereignishandler zuzuordnen, fügen Sie dem Ereignis eine Instanz des Delegaten hinzu. Der Ereignishandler wird bei jedem Eintreten des Ereignisses aufgerufen, sofern der Delegat nicht entfernt wird. Weitere Informationen zu Ereignishandlerdelegaten finden Sie unter Ereignisse und Delegaten.
Beispiel
Im folgenden Codebeispiel wird ein Binding erstellt. Außerdem wird dem Parse-Ereignis und dem Format-Ereignis ein ConvertEventHandler-Delegat hinzugefügt, und das Binding wird über die DataBindings-Eigenschaft der BindingsCollection eines TextBox-Steuerelements hinzugefügt. Der DecimalToCurrencyString-Ereignisdelegat formatiert, wenn er dem Format-Ereignis hinzugefügt wird, mithilfe der ToString-Methode den gebundenen Wert (einen Decimal-Typ) als Währung. Der CurrencyStringToDecimal-Ereignisdelegat konvertiert, wenn er dem Parse-Ereignis hinzugefügt wird, den vom Steuerelement angezeigten Wert zurück in den Decimal-Typ.
Private Sub BindControl()
' Create the binding first. The OrderAmount is typed as Decimal.
Dim b As New Binding("Text", ds, "customers.custToOrders.OrderAmount")
' Add the delegates to the events.
AddHandler b.Format, AddressOf DecimalToCurrencyString
AddHandler b.Parse, AddressOf CurrencyStringToDecimal
text1.DataBindings.Add(b)
End Sub 'BindControl
Private Sub DecimalToCurrencyString(sender As Object, cevent As ConvertEventArgs)
' Check for the appropriate DesiredType.
If Not cevent.DesiredType Is GetType(String) Then
Return
End If
' Use the ToString method to format the value as currency ("c").
cevent.Value = CDec(cevent.Value).ToString("c")
End Sub 'DecimalToCurrencyString
Private Sub CurrencyStringToDecimal(sender As Object, cevent As ConvertEventArgs)
' Check for the appropriate DesiredType.
If Not cevent.DesiredType Is GetType(Decimal) Then
Return
End If
' Convert the string back to decimal using the static Parse method.
cevent.Value = Decimal.Parse(cevent.Value.ToString, _
NumberStyles.Currency, nothing)
End Sub 'CurrencyStringToDecimal
private void BindControl()
{
// Create the binding first. The OrderAmount is typed as Decimal.
Binding b = new Binding
("Text", ds, "customers.custToOrders.OrderAmount");
// Add the delegates to the events.
b.Format += new ConvertEventHandler(DecimalToCurrencyString);
b.Parse += new ConvertEventHandler(CurrencyStringToDecimal);
text1.DataBindings.Add(b);
}
private void DecimalToCurrencyString(object sender, ConvertEventArgs cevent)
{
// Check for the appropriate DesiredType.
if(cevent.DesiredType != typeof(string)) return;
// Use the ToString method to format the value as currency ("c").
cevent.Value = ((decimal) cevent.Value).ToString("c");
}
private void CurrencyStringToDecimal(object sender, ConvertEventArgs cevent)
{
// Check for the appropriate DesiredType.
if(cevent.DesiredType != typeof(decimal)) return;
// Convert the string back to decimal using the static Parse method.
cevent.Value = Decimal.Parse(cevent.Value.ToString(),
NumberStyles.Currency, null);
}
private:
void BindControl()
{
// Create the binding first. The OrderAmount is typed as Decimal.
Binding^ b = gcnew Binding(
"Text",ds,"customers.custToOrders.OrderAmount" );
// Add the delegates to the events.
b->Format += gcnew ConvertEventHandler( this, &Form1::DecimalToCurrencyString );
b->Parse += gcnew ConvertEventHandler( this, &Form1::CurrencyStringToDecimal );
text1->DataBindings->Add( b );
}
void DecimalToCurrencyString( Object^ /*sender*/, ConvertEventArgs^ cevent )
{
// Check for the appropriate DesiredType.
if ( cevent->DesiredType != String::typeid )
{
return;
}
// Use the ToString method to format the value as currency ("c").
cevent->Value = ( (Decimal^)(cevent->Value) )->ToString( "c" );
}
void CurrencyStringToDecimal( Object^ /*sender*/, ConvertEventArgs^ cevent )
{
// Check for the appropriate DesiredType.
if ( cevent->DesiredType != Decimal::typeid )
{
return;
}
// Convert the string back to decimal using the static Parse method.
cevent->Value = Decimal::Parse( cevent->Value->ToString(),
NumberStyles::Currency, nullptr );
}
private void BindControl()
{
// Create the binding first. The OrderAmount is typed as Decimal.
Binding b = new Binding("Text",ds,"customers.custToOrders.OrderAmount");
// Add the delegates to the events.
b.add_Format(new ConvertEventHandler(DecimalToCurrencyString));
b.add_Parse(new ConvertEventHandler(CurrencyStringToDecimal));
text1.get_DataBindings().Add(b);
} //BindControl
private void DecimalToCurrencyString(Object sender, ConvertEventArgs cevent)
{
// Check for the appropriate DesiredType.
if (!(cevent.get_DesiredType().Equals(String.class.ToType()))) {
return;
}
// Use the ToString method to format the value as currency ("c").
cevent.set_Value(((System.Decimal)cevent.get_Value()).ToString("c"));
} //DecimalToCurrencyString
private void CurrencyStringToDecimal(Object sender, ConvertEventArgs cevent)
{
// Check for the appropriate DesiredType.
if (!(cevent.get_DesiredType().Equals(System.Decimal.class.ToType()))) {
return;
}
// Convert the string back to decimal using the static Parse method.
cevent.set_Value(Decimal.Parse(cevent.get_Value().ToString(),
NumberStyles.Currency, null));
} //CurrencyStringToDecimal
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
System.Windows.Forms-Namespace
Binding-Klasse
ControlEventArgs-Klasse
Control.ControlAdded-Ereignis
Control.ControlRemoved-Ereignis