Bagikan melalui


ConvertEventArgs.Value Properti

Definisi

Mendapatkan atau menetapkan nilai 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

Nilai Properti

Nilai ConvertEventArgs.

Contoh

Contoh kode berikut membuat Binding, menambahkan ConvertEventHandler delegasi ke Parse peristiwa dan Format , dan menggunakan DataBindings properti untuk menambahkan Binding ke BindingsCollectionTextBox kontrol. Delegasi DecimalToCurrencyString peristiwa, yang ditambahkan ke Format peristiwa, menggunakan ToString metode untuk memformat nilai terikat ( Decimal jenis) sebagai mata uang. Delegasi CurrencyStringToDecimal peristiwa, yang ditambahkan ke Parse peristiwa, mengonversi nilai yang ditampilkan oleh kontrol kembali ke Decimal jenis .

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

Keterangan

Nilai yang dimuat oleh Value properti tergantung pada peristiwa di mana ConvertEventArgs dikembalikan. ConvertEventArgs dapat dikembalikan dalam Format peristiwa atau Parse peristiwa.

ConvertEventArgs Saat dikembalikan dalam Format peristiwa, Value properti berisi nilai properti sumber data yang tidak diformat. Dalam peristiwa tersebut Format , Anda dapat membaca nilai properti, memformat nilai, dan mengatur ulang Value properti ke nilai baru (diformat), sehingga mengatur nilai yang ditampilkan dalam kontrol terikat data.

ConvertEventArgs Saat dikembalikan dalam Parse peristiwa, properti berisi nilai yang diformat khusus dari kontrol terikat data. Dalam peristiwa tersebut Parse , Anda harus membaca nilai yang diformat, mengurainya, dan mengonversinya kembali ke jenis data yang sama dengan sumber data. Anda kemudian dapat mengatur ulang Value properti ke nilai yang tidak diformat, dan dengan demikian mengatur nilai sumber data. Untuk menentukan jenis sumber data, periksa DesiredType nilai properti.

Berlaku untuk

Lihat juga