ConvertEventArgs Klasse

Definition

Stellt Daten für das Format-Ereignis und das Parse-Ereignis bereit.

public ref class ConvertEventArgs : EventArgs
public class ConvertEventArgs : EventArgs
type ConvertEventArgs = class
    inherit EventArgs
Public Class ConvertEventArgs
Inherits EventArgs
Vererbung
ConvertEventArgs
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)

Gilt für:

Weitere Informationen