Sdílet prostřednictvím


ConvertEventArgs.Value Vlastnost

Definice

Získá nebo nastaví hodnotu objektu 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

Hodnota vlastnosti

Hodnota .ConvertEventArgs

Příklady

Následující příklad kódu vytvoří Binding, přidá ConvertEventHandler delegáta do Parse událostí a Format a používá DataBindings vlastnost k přidání Binding do BindingsCollectionTextBox ovládacího prvku . Delegát DecimalToCurrencyString události, který je přidán do Format události, používá metodu ToString k formátování vázané hodnoty ( Decimal typu) jako měny. Delegát CurrencyStringToDecimal události, který je přidán do Parse události, převede hodnotu zobrazenou ovládacím prvku zpět na 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

Poznámky

Hodnota obsažená Value vlastností závisí na události, ve které je vrácena ConvertEventArgs hodnota . Může ConvertEventArgs se vrátit buď Format v události, nebo v Parse události.

ConvertEventArgs Když je vrácena v Format události, Value vlastnost obsahuje neformátovanou hodnotu vlastnosti zdroje dat. Format V rámci události můžete číst hodnotu vlastnosti, formátovat hodnotu a obnovit Value vlastnost na novou (formátovanou) hodnotu, čímž nastavíte hodnotu zobrazenou v ovládacím prvku vázaném na data.

Když je vrácena ConvertEventArgs v Parse události, vlastnost obsahuje hodnotu vlastního formátu ovládacího prvku vázaného na data. V rámci Parse události musíte načíst formátovanou hodnotu, parsovat ji a převést ji zpět na stejný datový typ jako zdroj dat. Potom můžete vlastnost obnovit Value na neformátovanou hodnotu a tím nastavit hodnotu zdroje dat. Pokud chcete určit typ zdroje dat, prozkoumejte DesiredType hodnotu vlastnosti.

Platí pro

Viz také