Exporter (0) Imprimer
Développer tout
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

ConvertEventArgs, classe

Fournit des données pour les événements Format et Parse.

Espace de noms : System.Windows.Forms
Assembly : System.Windows.Forms (dans system.windows.forms.dll)

public class ConvertEventArgs : EventArgs
public class ConvertEventArgs extends EventArgs
public class ConvertEventArgs extends EventArgs

ConvertEventArgs permet de mettre en forme les valeurs affichées par un contrôle Windows Forms qui est lié aux données par l'intermédiaire d'un objet Binding ou d'annuler la mise en forme. L'événement Format se produit lorsqu'une propriété d'un contrôle est liée à une valeur et l'événement Parse se produit chaque fois que la valeur liée est modifiée.

Les événements Format et Parse vous permettent de créer des formats personnalisés pour afficher des données. Par exemple, si les données contenues dans une table sont du type Decimal, il est possible de spécifier que ces données s'affichent dans un format de devise locale en affectant la valeur mise en forme dans l'événement Format à la propriété Value de ConvertEventArgs. Par conséquent, vous devez 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, consultez Consommation d'événements.

L'exemple de code suivant crée un Binding, ajoute un délégué ConvertEventHandler aux événements Parse et Format et utilise la propriété DataBindings pour ajouter Binding au BindingsCollection d'un contrôle TextBox. Le délégué d'événement DecimalToCurrencyString ajouté à l'événement Format utilise la méthode ToString pour formater la valeur liée (de type Decimal) en tant que devise. Le délégué d'événement CurrencyStringToDecimal ajouté à l'événement Parse reconvertit la valeur affichée par le contrôle en type Decimal.

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.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

Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

.NET Compact Framework

Prise en charge dans : 2.0, 1.0
Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft. Tous droits réservés.