L'enumération en C#

Résolu
LordOfTheShadow Messages postés 174 Date d'inscription vendredi 22 décembre 2000 Statut Membre Dernière intervention 9 septembre 2010 - 12 nov. 2008 à 11:06
LordOfTheShadow Messages postés 174 Date d'inscription vendredi 22 décembre 2000 Statut Membre Dernière intervention 9 septembre 2010 - 12 nov. 2008 à 19:07
Hello, tout le monde!!! J'ai trop du mal avec les énumérations alors si quelqu'un peut m'aider...Tout d'abord je travaille sur un UserControl. Je voudrai assigner un numéro pour chaque Item de mon énumération (orientationEnum). J'ai une propriété (Orientation) qui récupère la valeur de l'orientation (nord, etc...) et qui va lancer le dessin d'une forme quelconque avec this.Refresh(); Ensuite je voudrai afficher le numéro de l'unération sans passer par switch case ou un truc tordu afin de gagner en temps processeur.

public enum orientationEnum { ouest, est, nord, sud };

[Category("MesProprietes"), Browsable(true), Description("Obtient ou définit l'orientation du composant.")]
public orientationEnum Orientation
{
      get { return orientation; }
      set
      {
            orientation = value;
            this.Refresh(); //On lance la procédure OnPaint en rafraîchissant.
      }
}


protected override void OnPaint(PaintEventArgs args)
{
    //Ici je redessine sur le composant suivant l'orientation du composant.
   AfficherNumero();
}


public void AfficherNumero()
{
    MesssageBox.Show("{0}", LA JE SAIS PAS);
}


La connaissance est la plus grande des richesses.

3 réponses

LordOfTheShadow Messages postés 174 Date d'inscription vendredi 22 décembre 2000 Statut Membre Dernière intervention 9 septembre 2010 5
12 nov. 2008 à 19:06
Voila la réponse complète:
public

enumorientationEnum { ouest 0, est 1, nord = 2, sud = 3 };

[

Category(
"MesProprietes"),
Browsable(
true),
Description(
"Obtient ou définit l'écart avec le point supérieur gauche (en pixels).")]

public
orientationEnum Orientation
{

      get {
return orientation; }

      set
      {
            orientation =
value;

            this.Refresh();
//On lance la proc‚dure OnPaint en rafraŒchissant.
      }
}

protected
override
void OnPaint(
PaintEventArgs args)
{

      orientationEnum monOrientation = (
orientationEnum)
Enum.Parse(
typeof(
orientationEnum), Orientation.ToString());

      MessageBox.Show(monOrientation.ToString());

}

La connaissance est la plus grande des richesses.
3
WishhhMaster Messages postés 327 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 10 avril 2010 8
12 nov. 2008 à 11:46
Salut,
public enum orientationEnum { ouest 1, est 45, nord = 75, sud  = 69};

...

MessageBox.Show(((int)orientation).ToString());

non?
0
LordOfTheShadow Messages postés 174 Date d'inscription vendredi 22 décembre 2000 Statut Membre Dernière intervention 9 septembre 2010 5
12 nov. 2008 à 19:07
Merci quand même à toi WisshMaster tu m'as mis sur la voix...

La connaissance est la plus grande des richesses.
0
Rejoignez-nous