ConvertEventArgs Klasse
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 ref class ConvertEventArgs : EventArgs
public class ConvertEventArgs : EventArgs
type ConvertEventArgs = class
inherit EventArgs
Public Class ConvertEventArgs
Inherits EventArgs
- Vererbung
- Abgeleitet
Beispiele
Im folgenden Codebeispiel wird ein Bindingerstellt, und fügt sowohl dem - als auch dem ParseFormat -Ereignis einen ConvertEventHandler Delegaten hinzu und verwendet die DataBindings -Eigenschaft, um der Binding eines TextBox -Steuerelements hinzuzufügenBindingsCollection. Der DecimalToCurrencyString
Ereignisdelegat, der dem Format Ereignis hinzugefügt wird, verwendet die ToString -Methode, um den gebundenen Wert (einen Decimal Typ) als Währung zu formatieren. Der CurrencyStringToDecimal
Ereignisdelegat, der dem Parse Ereignis hinzugefügt wird, konvertiert den wert, der vom Steuerelement angezeigt wird, wieder in den Decimal Typ.
private:
void DecimalToCurrencyString( 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 CurrencyStringToDecimal( Object^ /*sender*/, ConvertEventArgs^ cevent )
{
// The method converts back to decimal type only.
if ( cevent->DesiredType != Decimal::typeid )
{
return;
}
// Converts the string back to decimal using the static Parse method.
cevent->Value = Decimal::Parse( cevent->Value->ToString(),
NumberStyles::Currency, nullptr );
}
void BindControl()
{
// Creates the binding first. The OrderAmount is typed as Decimal.
Binding^ b = gcnew Binding(
"Text",ds,"customers.custToOrders.OrderAmount" );
// Adds the delegates to the events.
b->Format += gcnew ConvertEventHandler(
this, &Form1::DecimalToCurrencyString );
b->Parse += gcnew ConvertEventHandler(
this, &Form1::CurrencyStringToDecimal );
text1->DataBindings->Add( b );
}
private void DecimalToCurrencyString(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 CurrencyStringToDecimal(object sender, ConvertEventArgs cevent)
{
// The method converts back to decimal type only.
if(cevent.DesiredType != typeof(decimal)) return;
// Converts the string back to decimal using the static Parse method.
cevent.Value = Decimal.Parse(cevent.Value.ToString(),
NumberStyles.Currency, null);
}
private void BindControl()
{
// Creates the binding first. The OrderAmount is typed as Decimal.
Binding b = new Binding
("Text", ds, "customers.custToOrders.OrderAmount");
// Adds the delegates to the events.
b.Format += new ConvertEventHandler(DecimalToCurrencyString);
b.Parse += new ConvertEventHandler(CurrencyStringToDecimal);
text1.DataBindings.Add(b);
}
Private Sub DecimalToCurrencyString(sender As Object, cevent As ConvertEventArgs)
' The method converts only to string type. Test this using the 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
Private Sub CurrencyStringToDecimal(sender As Object, cevent As ConvertEventArgs)
' The method converts back to decimal type only.
If Not cevent.DesiredType Is GetType(Decimal) Then
Return
End If
' Converts the string back to decimal using the shared Parse method.
cevent.Value = Decimal.Parse(cevent.Value.ToString, _
NumberStyles.Currency, nothing)
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 DecimalToCurrencyString
AddHandler b.Parse, AddressOf CurrencyStringToDecimal
text1.DataBindings.Add(b)
End Sub
Hinweise
Dient ConvertEventArgs zum Formatieren und Unformatieren von Werten, die von einem Windows Forms-Steuerelement angezeigt werden, das über ein Binding -Objekt an Daten gebunden ist. Das Format Ereignis tritt auf, wenn eine Steuerelementeigenschaft an einen Wert gebunden ist, und das Parse Ereignis tritt auf, wenn sich der gebundene Wert ändert.
Mit Format den Ereignissen und Parse können Sie benutzerdefinierte Formate zum Anzeigen von Daten erstellen. Wenn z. B. die Daten in einer Tabelle vom Typ Decimalsind, können Sie angeben, dass die Daten im lokalen Währungsformat angezeigt werden sollen, indem Sie die Value -Eigenschaft von ConvertEventArgs auf den formatierten Wert im Format Ereignis festlegen. Daher müssen Sie den angezeigten Wert im Parse Ereignis unformatieren.
Weitere Informationen zur Behandlung von Ereignissen finden Sie unter behandeln und Auslösen von Ereignissen.
Konstruktoren
ConvertEventArgs(Object, Type) |
Initialisiert eine neue Instanz der ConvertEventArgs-Klasse. |
Eigenschaften
DesiredType |
Ruft den Datentyp des gewünschten Werts ab. |
Value |
Ruft den Wert von ConvertEventArgs ab oder legt ihn fest. |
Methoden
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |