Partager via


ConvertEventArgs.Value Propriété

Définition

Obtient ou définit la valeur du 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

Valeur de propriété

Valeur du ConvertEventArgs.

Exemples

L’exemple de code suivant crée un BindingConvertEventHandler délégué à la fois aux Parse événements et Format utilise la DataBindings propriété pour ajouter le TextBoxBindingBindingsCollection contrôle. Le DecimalToCurrencyString délégué d’événement, qui est ajouté à l’événement Format , utilise la ToString méthode pour mettre en forme la valeur liée (un Decimal type) comme devise. Le CurrencyStringToDecimal délégué d’événement, qui est ajouté à l’événement Parse , convertit la valeur affichée par le contrôle en Decimal type.

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

Remarques

La valeur contenue par la Value propriété dépend de l’événement dans lequel la valeur ConvertEventArgs est retournée. Il ConvertEventArgs peut être retourné dans l’événement Format ou dans l’événement Parse .

Lorsque la ConvertEventArgs valeur est retournée dans l’événement Format , la Value propriété contient la valeur de propriété non mise en forme de la source de données. Dans l’événement Format , vous pouvez lire la valeur de la propriété, mettre en forme la valeur et réinitialiser la Value propriété à la nouvelle valeur (mise en forme), ce qui définit la valeur affichée dans le contrôle lié aux données.

Lorsque la ConvertEventArgs valeur est retournée dans l’événement Parse , la propriété contient la valeur mise en forme personnalisée du contrôle lié aux données. Dans l’événement Parse , vous devez lire la valeur mise en forme, l’analyser et la convertir en même type de données que la source de données. Vous pouvez ensuite réinitialiser la Value propriété à la valeur non mise en forme, puis définir la valeur de la source de données. Pour déterminer le type de la source de données, examinez la valeur de la DesiredType propriété.

S’applique à

Voir aussi