Aracılığıyla paylaş


ConvertEventArgs.Value Özellik

Tanım

değerini ConvertEventArgsalır veya ayarlar.

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

Özellik Değeri

değerinin ConvertEventArgsdeğeridir.

Örnekler

Aşağıdaki kod örneği, Bindinghem ve Format olaylarına bir ConvertEventHandler temsilci oluşturur hem de Parse özelliğini kullanarak DataBindings öğesini denetimine BindingsCollectionTextBox eklerBinding. Olaya DecimalToCurrencyString eklenen Format olay temsilcisi, ilişkili değeri (bir Decimal tür) para birimi olarak biçimlendirmek için yöntemini kullanırToString. Olaya CurrencyStringToDecimal eklenen Parse olay temsilcisi, denetim tarafından görüntülenen değeri türüne Decimal geri dönüştürür.

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

Açıklamalar

özelliğinin Value içerdiği değer, değerinin döndürüldiği ConvertEventArgs olaya bağlıdır. , ConvertEventArgs olayda veya olayda Parse döndürülebilirFormat.

ConvertEventArgs olayda Format döndürülürken, Value özelliği veri kaynağının biçimlendirilmemiş özellik değerini içerir. Olay içinde Format özellik değerini okuyabilir, değeri biçimlendirebilir ve özelliği yeni (biçimlendirilmiş) değere sıfırlayabilir Value ve böylece veri bağlı denetimde görüntülenen değeri ayarlayabilirsiniz.

ConvertEventArgs olayda Parse döndürülürken özelliği, veriye bağlı denetimin özel biçimlendirilmiş değerini içerir. Olay içinde Parse , biçimlendirilmiş değeri okumalı, ayrıştırmalı ve veri kaynağıyla aynı veri türüne dönüştürmeniz gerekir. Ardından özelliği biçimlendirilmemiş değere sıfırlayabilir Value ve böylece veri kaynağının değerini ayarlayabilirsiniz. Veri kaynağının türünü belirlemek için özellik değerini inceleyin DesiredType .

Şunlara uygulanır

Ayrıca bkz.