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
Rejoignez-nous