ConvertEventArgs.Value Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta il valore dell'oggetto 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
Valore della proprietà
Valore del ConvertEventArgs.
Esempio
L'esempio di codice seguente crea un oggetto , aggiunge un BindingConvertEventHandler delegato sia agli Parse eventi che Format agli eventi e usa la DataBindings proprietà per aggiungere l'oggetto all'oggetto BindingBindingsCollection di un TextBox controllo. Il DecimalToCurrencyString
delegato dell'evento, aggiunto all'evento Format , usa il metodo per formattare il ToString valore associato (un Decimal tipo) come valuta. Il CurrencyStringToDecimal
delegato dell'evento, aggiunto all'evento Parse , converte il valore visualizzato dal controllo di nuovo nel Decimal tipo.
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
Commenti
Il valore contenuto dalla Value proprietà dipende dall'evento in cui ConvertEventArgs viene restituito. Può ConvertEventArgs essere restituito nell'evento o nell'evento ParseFormat.
ConvertEventArgs Quando viene restituito nell'eventoFormat, la Value proprietà contiene il valore della proprietà non formattata dell'origine dati. All'interno dell'evento Format è possibile leggere il valore della proprietà, formattare il valore e reimpostare la Value proprietà sul nuovo valore (formattato), impostando così il valore visualizzato nel controllo associato ai dati.
ConvertEventArgs Quando viene restituito nell'eventoParse, la proprietà contiene il valore formattato personalizzato del controllo associato a dati. All'interno dell'evento Parse è necessario leggere il valore formattato, analizzarlo e convertirlo nuovamente nello stesso tipo di dati dell'origine dati. È quindi possibile reimpostare la Value proprietà sul valore non formattato e quindi impostare il valore dell'origine dati. Per determinare il tipo dell'origine dati, esaminare il DesiredType valore della proprietà.