ConvertEventHandler Delegat
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
public delegate void ConvertEventHandler(System::Object ^ sender, ConvertEventArgs ^ e);
public delegate void ConvertEventHandler(object sender, ConvertEventArgs e);
public delegate void ConvertEventHandler(object? sender, ConvertEventArgs e);
type ConvertEventHandler = delegate of obj * ConvertEventArgs -> unit
Public Delegate Sub ConvertEventHandler(sender As Object, e As ConvertEventArgs)
Parameter
- sender
- Object
Die Quelle des Ereignisses.
Ein ConvertEventArgs Objekt, das die Ereignisdaten enthält.
Beispiele
Der folgende Code
In diesem Beispiel wird ein BindingDelegat ConvertEventHandler sowohl zu den Parse Ereignissen BindingBindingsCollection als Format auch zum Hinzufügen des Steuerelements TextBox über die DataBindings Eigenschaft erstellt. Der DecimalToCurrency Ereignisdelegat, der dem Format Ereignis hinzugefügt wird, formatiert den gebundenen Wert (einen Decimal Typ) mithilfe der ToString Methode als Währung. Der CurrencyToDecimal Ereignisdelegat, der dem Parse Ereignis hinzugefügt wird, konvertiert den vom Steuerelement angezeigten Wert wieder in den Decimal Typ.
private:
void DecimalToCurrency( Object^ /*sender*/, ConvertEventArgs^ cevent )
{
// The method converts only to string type. Test this using the 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 CurrencyToDecimal( Object^ /*sender*/, ConvertEventArgs^ cevent )
{
// ' The method converts only to decimal type.
if ( cevent->DesiredType != Decimal::typeid )
{
return;
}
// Converts the string back to decimal using the static ToDecimal method.
cevent->Value = Convert::ToDecimal( cevent->Value->ToString() );
}
void BindControl()
{
// Creates 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::DecimalToCurrency );
b->Parse += gcnew ConvertEventHandler(
this, &Form1::CurrencyToDecimal );
text1->DataBindings->Add( b );
}
private void DecimalToCurrency(object sender, ConvertEventArgs cevent)
{
// The method converts only to string type. Test this using the 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 CurrencyToDecimal(object sender, ConvertEventArgs cevent)
{
// ' The method converts only to decimal type.
if (cevent.DesiredType != typeof(decimal)) return;
// Converts the string back to decimal using the static ToDecimal method.
cevent.Value = Convert.ToDecimal(cevent.Value.ToString());
}
private void BindControl()
{
// Creates 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(DecimalToCurrency);
b.Parse += new ConvertEventHandler(CurrencyToDecimal);
text1.DataBindings.Add(b);
}
Private Sub DecimalToCurrency(sender As Object, cevent As ConvertEventArgs)
' The method converts only to string type. Test this using the DesiredType.
If cevent.DesiredType IsNot 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
Private Sub CurrencyToDecimal(sender As Object, cevent As ConvertEventArgs)
' The method converts only to decimal type.
If cevent.DesiredType IsNot GetType(Decimal) Then
Return
End If
' Converts the string back to decimal using the static ToDecimal method.
cevent.Value = Convert.ToDecimal(cevent.Value.ToString())
End Sub
Private Sub BindControl()
' Creates the binding first. The OrderAmount is typed as Decimal.
Dim b As New Binding("Text", ds, "customers.custToOrders.OrderAmount")
' Adds the delegates to the events.
AddHandler b.Format, AddressOf DecimalToCurrency
AddHandler b.Parse, AddressOf CurrencyToDecimal
text1.DataBindings.Add(b)
End Sub
Hinweise
Wenn Sie einen ConvertEventHandler Delegaten erstellen, identifizieren Sie die Methode, die das Ereignis behandelt. Um das Ereignis dem Ereignishandler zuzuordnen, fügen Sie dem Ereignis eine Instanz des Delegaten hinzu. Der Ereignishandler wird immer dann aufgerufen, wenn das Ereignis auftritt, es sei denn, Sie entfernen den Delegaten. Weitere Informationen zu Ereignishandlerdelegatn finden Sie unter Behandeln und Auslösen von Ereignissen.
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| GetMethodInfo(Delegate) |
Ruft ein Objekt ab, das die vom angegebenen Delegaten dargestellte Methode darstellt. |