Freigeben über


ConvertEventArgs.Value Eigenschaft

Definition

Dient zum Abrufen oder Festlegen des Werts der ConvertEventArgs.

public:
 property System::Object ^ Value { System::Object ^ get(); void set(System::Object ^ value); };
public object Value { get; set; }
public object? Value { get; set; }
member this.Value : obj with get, set
Public Property Value As Object

Eigenschaftswert

Der Wert des ConvertEventArgs.

Beispiele

Im folgenden Codebeispiel wird ein BindingDelegat ConvertEventHandler sowohl zu den Parse Ereignissen Format als auch zum Hinzufügen der DataBindingsBinding Eigenschaft zum BindingsCollectionTextBox Steuerelement erstellt. 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 vom Steuerelement angezeigten Wert 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

Der in der Value Eigenschaft enthaltene Wert hängt vom Ereignis ab, in dem die ConvertEventArgs Eigenschaft zurückgegeben wird. Dies ConvertEventArgs kann entweder Format im Ereignis oder im Parse Ereignis zurückgegeben werden.

Wenn die ConvertEventArgs Eigenschaft im Format Ereignis zurückgegeben wird, enthält die Value Eigenschaft den unformatierten Eigenschaftswert der Datenquelle. Innerhalb des Format Ereignisses können Sie den Eigenschaftswert lesen, den Wert formatieren und die Value Eigenschaft auf den neuen (formatierten) Wert zurücksetzen, wodurch der im datengebundenen Steuerelement angezeigte Wert festgelegt wird.

Wenn die ConvertEventArgs Eigenschaft im Parse Ereignis zurückgegeben wird, enthält die Eigenschaft den benutzerdefinierten Formatierten Wert des datengebundenen Steuerelements. Innerhalb des Parse Ereignisses müssen Sie den formatierten Wert lesen, analysieren und in denselben Datentyp wie die Datenquelle konvertieren. Anschließend können Sie die Value Eigenschaft auf den unformatierten Wert zurücksetzen und dadurch den Wert der Datenquelle festlegen. Überprüfen Sie DesiredType den Eigenschaftswert, um den Typ der Datenquelle zu ermitteln.

Gilt für:

Weitere Informationen