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 eine BindingConvertEventHandler Stellvertretung sowohl zu den Parse Format Ereignissen DataBindings als auch zum Hinzufügen der TextBox Binding BindingsCollection Eigenschaft zum Steuerelement erstellt. Der DecimalToCurrencyString Ereignisstellvertretung, 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 Ereignisstellvertretung, der dem Parse Ereignis hinzugefügt wird, konvertiert den wert, der vom Steuerelement in den Decimal Typ angezeigt wird.

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

Dies ConvertEventArgs wird verwendet, um Werte zu formatieren und zu unformatieren, die von einem Windows Forms Steuerelement angezeigt werden, das an Daten über ein Binding Objekt gebunden ist. Das Format Ereignis tritt auf, wenn eine Steuerelementeigenschaft an einen Wert gebunden ist und das Ereignis auftritt, wenn sich der Parse gebundene Wert ändert.

Parse Mit den Format Ereignissen können Sie benutzerdefinierte Formate zum Anzeigen von Daten erstellen. Wenn die Daten in einer Tabelle beispielsweise vom Typ Decimalsind, können Sie angeben, dass die Daten im lokalen Währungsformat angezeigt werden sollen, indem Sie die Value Eigenschaft des ConvertEventArgs formatierten Werts Format im Ereignis festlegen. Sie müssen daher das Format des angezeigten Werts Parse im Ereignis aufheben.

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:

Siehe auch