Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ruft den Wert von ConvertEventArgs ab oder legt diesen fest.
Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)
Syntax
'Declaration
Public Property Value As Object
'Usage
Dim instance As ConvertEventArgs
Dim value As Object
value = instance.Value
instance.Value = value
public Object Value { get; set; }
public:
property Object^ Value {
Object^ get ();
void set (Object^ value);
}
/** @property */
public Object get_Value ()
/** @property */
public void set_Value (Object value)
public function get Value () : Object
public function set Value (value : Object)
Eigenschaftenwert
Der Wert von ConvertEventArgs.
Hinweise
Der in der Value-Eigenschaft enthaltene Wert hängt von dem Ereignis ab, das von ConvertEventArgs zurückgegeben wird. ConvertEventArgs kann im Format-Ereignis oder im Parse-Ereignis zurückgegeben werden.
Wenn das ConvertEventArgs-Objekt im Format-Ereignis zurückgegeben wird, enthält die Value-Eigenschaft den nicht formatierten Eigenschaftenwert der Datenquelle. Im Format-Ereignis können Sie den Eigenschaftenwert lesen, den Wert formatieren und die Value-Eigenschaft auf den neuen (formatierten) Wert zurücksetzen und so den im datengebundenen Steuerelement angezeigten Wert festlegen.
Wenn ConvertEventArgs im Parse-Ereignis zurückgegeben wird, enthält die Eigenschaft den vom Benutzer formatierten Wert des datengebundenen Steuerelements. Im Parse-Ereignis müssen Sie den formatierten Wert lesen, analysieren und in den gleichen Datentyp wie die Datenquelle zurückkonvertieren. Anschließend können Sie die Value-Eigenschaft auf den Rohwert zurücksetzen und so den Wert der Datenquelle festlegen. Überprüfen Sie den DesiredType-Eigenschaftenwert, um den Typ der Datenquelle zu bestimmen.
Beispiel
Im folgenden Codebeispiel wird ein Binding erstellt, dem Parse-Ereignis und dem Format-Ereignis wird ein ConvertEventHandler-Delegat hinzufügt und der BindingsCollection eines TextBox-Steuerelements wird mithilfe der DataBindings-Eigenschaft das Binding-Objekt hinzugefügt. Der dem Format-Ereignis hinzugefügte DecimalToCurrencyString-Ereignisdelegat formatiert mit der ToString-Methode den gebundenen Wert (einen Decimal-Typ) als Währung. Der dem Parse-Ereignis hinzugefügte CurrencyStringToDecimal-Ereignisdelegat konvertiert den vom Steuerelement angezeigten Wert zurück in den Decimal-Typ.
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 'DecimalToCurrencyString
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 'CurrencyStringToDecimal
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 'BindControl
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:
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.get_DesiredType().Equals(String.class.ToType()))) {
return ;
}
// Use the ToString method to format the value as currency ("c").
cevent.set_Value(((System.Decimal)cevent.get_Value()).ToString("c"));
} //DecimalToCurrencyString
private void CurrencyStringToDecimal(Object sender, ConvertEventArgs cevent)
{
// The method converts back to decimal type only.
if (!(cevent.get_DesiredType().Equals(System.Decimal.class.ToType()))) {
return ;
}
// Converts the string back to decimal using the static Parse method.
cevent.set_Value(Decimal.Parse(cevent.get_Value().ToString(),
NumberStyles.Currency, null));
} //CurrencyStringToDecimal
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.add_Format(new ConvertEventHandler(DecimalToCurrencyString));
b.add_Parse(new ConvertEventHandler(CurrencyStringToDecimal));
text1.get_DataBindings().Add(b);
} //BindControl
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
ConvertEventArgs-Klasse
ConvertEventArgs-Member
System.Windows.Forms-Namespace
Binding-Klasse