ConvertEventArgs Classe
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
public ref class ConvertEventArgs : EventArgs
public class ConvertEventArgs : EventArgs
type ConvertEventArgs = class
inherit EventArgs
Public Class ConvertEventArgs
Inherits EventArgs
- Héritage
- Dérivé
L’exemple de code suivant crée un Binding, ajoute un ConvertEventHandler délégué aux Parse événements et Format et utilise la DataBindings propriété pour ajouter le Binding au BindingsCollection d’un TextBox contrôle. Le DecimalToCurrencyString
délégué d’événement, qui est ajouté à l’événement Format , utilise la ToString méthode pour mettre en forme la valeur liée (un Decimal type) en tant que devise. Le CurrencyStringToDecimal
délégué d’événement, qui est ajouté à l’événement Parse , reconvertit la valeur affichée par le contrôle en 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
Le ConvertEventArgs est utilisé pour mettre en forme et annuler la mise en forme des valeurs affichées par un contrôle Windows Forms lié aux données via un Binding objet . L’événement Format se produit chaque fois qu’une propriété de contrôle est liée à une valeur et l’événement Parse se produit chaque fois que la valeur liée change.
Les Format événements et Parse vous permettent de créer des formats personnalisés pour l’affichage des données. Par exemple, si les données d’une table sont de type Decimal, vous pouvez spécifier que les données doivent être affichées dans le format monétaire local en définissant la Value propriété du ConvertEventArgs sur la valeur mise en forme dans l’événement Format . Vous devez donc annuler la mise en forme de la valeur affichée dans l’événement Parse .
Pour plus d'informations sur la gestion des événements, voir gestion et déclenchement d’événements.
Convert |
Initialise une nouvelle instance de la classe ConvertEventArgs. |
Desired |
Obtient le type de données de la valeur souhaitée. |
Value |
Obtient ou définit la valeur du ConvertEventArgs. |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
Get |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
Get |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
Memberwise |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
To |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
Produit | Versions |
---|---|
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
Windows Desktop | 3.0, 3.1, 5, 6, 7, 8, 9 |
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :