ConvertEventArgs.Value Własność
Definicja
Ważny
Niektóre informacje dotyczą produktów przedpremierowych, które mogą zostać znacznie zmodyfikowane przed premierą. Microsoft nie udziela żadnych gwarancji, ani wyraźnych, ani domniemanych, dotyczących informacji podanych tutaj.
Pobiera lub ustawia wartość .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
Wartość nieruchomości
Wartość .ConvertEventArgs
Przykłady
Poniższy przykładowy kod tworzy element Binding, dodaje ConvertEventHandler delegata zarówno do zdarzeń Parse , jak i Format i używa DataBindings właściwości , aby dodać Binding element do BindingsCollection kontrolki TextBox . Delegat DecimalToCurrencyString zdarzenia, który jest dodawany do Format zdarzenia, używa ToString metody do formatowania powiązanej wartości ( Decimal typu) jako waluty. Delegat CurrencyStringToDecimal zdarzenia, który jest dodawany do Parse zdarzenia, konwertuje wartość wyświetlaną przez kontrolkę Decimal z powrotem na 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
Uwagi
Wartość zawarta Value we właściwości zależy od zdarzenia, w którym ConvertEventArgs jest zwracany element . Element ConvertEventArgs może zostać zwrócony w Format zdarzeniu lub zdarzeniu Parse .
ConvertEventArgs Gdy właściwość jest zwracana w Format zdarzeniu, Value właściwość zawiera niesformatowaną wartość właściwości źródła danych. W ramach Format zdarzenia można odczytać wartość właściwości, sformatować wartość i zresetować Value właściwość do nowej (sformatowanej) wartości, ustawiając w ten sposób wartość wyświetlaną w kontrolce powiązanej z danymi.
ConvertEventArgs Gdy element jest zwracany w Parse zdarzeniu, właściwość zawiera niestandardową wartość kontrolki powiązanej z danymi. W ramach Parse zdarzenia należy odczytać sformatowaną wartość, przeanalizować ją i przekonwertować z powrotem na ten sam typ danych co źródło danych. Następnie można zresetować Value właściwość do niesformatowanych wartości, a tym samym ustawić wartość źródła danych. Aby określić typ źródła danych, sprawdź DesiredType wartość właściwości.