DialogResult personnalisé

knuck18
Messages postés
7
Date d'inscription
samedi 24 mai 2003
Statut
Membre
Dernière intervention
23 avril 2009
- 25 nov. 2008 à 15:15
cs_skilipi
Messages postés
4
Date d'inscription
mercredi 4 décembre 2002
Statut
Membre
Dernière intervention
11 février 2009
- 11 févr. 2009 à 16:59
Bonjour,
Dans mon interface graphique, j'ai un bouton. Quand je clique dessus une nouvelle fenetre apparait en showDialog. J'ai à l'intérieur de celle-ci 3 radioButton et à la sélection d'une valeur je souhaite la récupérer et continuer mes traitements en fonction de cette valeur.

Ca revient à utiliser les dialogResult sauf que ceux proposés ne sont que limités a OK, CANCEL, YES... et je souhaiterai définir mes propres valeurs.

Merci d'avance pour vos réponses :)
A voir également:

2 réponses

xmox667
Messages postés
357
Date d'inscription
jeudi 8 juin 2006
Statut
Membre
Dernière intervention
26 décembre 2011
4
27 nov. 2008 à 11:42
Salut,
1) Tu créer un Enum publique (MonEnum) avec tes propres valeurs
2) Dans ta Form :
a) Tu créer une variable (MaVar)  publique du type "MonEnum"
b) Dans l'event CheckedChanged des tes radiobuttons tu change de "MaVar"
3) Après l'appel à ShowDialog tu teste la valeur "MaVar"

Tu peux utiliser ceci dans une fonction statique qui créer la fenêtre, l'affiche et te renvoie le résultat des radiobuttons.
Comme le fait la fonction Show du MessageBox.

A+
0
cs_skilipi
Messages postés
4
Date d'inscription
mercredi 4 décembre 2002
Statut
Membre
Dernière intervention
11 février 2009

11 févr. 2009 à 16:59
Comme xmox667 a indiqué !
en détail :
<li>namespace MonAppli</li><li>{</li><li>    </li><li>    publicenum DialogResult : int</li><li>    {</li><li>        None 0,</li><li>        OK 1,</li><li>        Cancel = 2,</li><li>        Abort = 3,</li><li>        Retry = 4,</li><li>        Ignore = 5,</li><li>        Yes = 6,</li><li>        No = 7,</li><li>        TrucMuch = 8</li><li>    }</li><li>}</li><li>
</li><li>
</li><li>
</li><li>publicclass Form1 : System.Windows.Forms.Form</li><li>{</li><li>    </li><li>    //*** On masque la méthode ShowDialog sans paramètre awner</li><li>    publicnew MonAppli.DialogResult ShowDialog()</li><li>    {</li><li>        // Appel la méthode ShowDialog avec paramètre owner à nothing</li><li>        returnthis.ShowDialog(null);</li><li>    }</li><li>    </li><li>    //*** On masque la méthode ShowDialog avec paramètre owner</li><li>    publicnew MonAppli.DialogResult ShowDialog(Windows.Forms.Form owner)</li><li>    {</li><li>        // Appel ShowDialog de la classe de base et attend une réponse</li><li>        switch (base.ShowDialog(owner)) {</li><li>            // Réponse None</li><li>            case DialogResult.None:</li><li>                // On renvoi None</li><li>                return MonAppli.DialogResult.None;</li><li>            // Réponse OK</li><li>            case DialogResult.OK:</li><li>                // Je veux renvoyer TrucMuch Si ...</li><li>                if (..) {</li><li>                    return MonAppli.DialogResult.TrucMuch;</li><li>                }</li><li>                else {</li><li>                    return MonAppli.DialogResult.OK;</li><li>                }</li><li>
</li><li>                break;</li><li>            // Réponse Cancel</li><li>            case DialogResult.Cancel:</li><li>                break;</li><li>        //...</li><li>        }</li><li>    }</li><li>}</li><li></li><li>publicclass Form2 : System.Windows.Forms.Form</li><li>{</li><li>    </li><li>    // Affiche la form1 en mode modal</li><li>    public void AfficherForm1()</li><li>    {</li><li>        Form1 frmForm1 default(Form1);</li><li>        </li><li>        // Nouvelle instance</li><li>        frmForm1 new Form1();</li><li>        </li><li>        // Affiche en modal</li><li>        if (frmForm1.ShowDialog == MonAppli.DialogResult.TrucMuch) {</li><li>            Interaction.MsgBox("Voici la réponse TrucMuch !");</li><li>        }</li><li>        </li><li>        frmForm1.Dispose();</li><li>    }</li><li>}</li>
0