ConvertEventArgs.Value Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt of stelt u de waarde van de 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
Waarde van eigenschap
De waarde van de ConvertEventArgs.
Voorbeelden
In het volgende codevoorbeeld wordt een BindingConvertEventHandler gemachtigde aan zowel de gebeurtenis als Parse de Format gebeurtenis gemaakt en wordt de DataBindings eigenschap gebruikt om de Binding eigenschap toe te voegen aan het BindingsCollection besturingselementTextBox. De DecimalToCurrencyString gemachtigde van de gebeurtenis, die wordt toegevoegd aan de Format gebeurtenis, gebruikt de ToString methode om de afhankelijke waarde (een Decimal type) op te maken als valuta. De CurrencyStringToDecimal gedelegeerde van de gebeurtenis, die wordt toegevoegd aan de Parse gebeurtenis, converteert de waarde die door het besturingselement wordt weergegeven, terug naar het Decimal type.
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
Opmerkingen
De waarde in de Value eigenschap is afhankelijk van de gebeurtenis waarin de ConvertEventArgs eigenschap wordt geretourneerd. De ConvertEventArgs kan worden geretourneerd in de Format gebeurtenis of de Parse gebeurtenis.
Wanneer de ConvertEventArgs eigenschap wordt geretourneerd in de Format gebeurtenis, bevat de Value eigenschap de niet-opgemaakte eigenschapswaarde van de gegevensbron. In de Format gebeurtenis kunt u de eigenschapswaarde lezen, de waarde opmaken en de Value eigenschap opnieuw instellen op de nieuwe (opgemaakte) waarde, waardoor de waarde wordt ingesteld die wordt weergegeven in het gegevensgebonden besturingselement.
Wanneer de ConvertEventArgs eigenschap wordt geretourneerd in de Parse gebeurtenis, bevat de eigenschap de aangepaste waarde van het gegevensgebonden besturingselement. Binnen de Parse gebeurtenis moet u de opgemaakte waarde lezen, parseren en terugzetten naar hetzelfde gegevenstype als de gegevensbron. Vervolgens kunt u de Value eigenschap opnieuw instellen op de niet-opgemaakte waarde en zo de waarde van de gegevensbron instellen. Als u het type van de gegevensbron wilt bepalen, bekijkt u de DesiredType eigenschapswaarde.