Cochage menu [Résolu]

Signaler
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010
-
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
Bonjour,
j'ai un menu Langues avec deux langues par exemple et je voudrai cocher le langue qui est choisie.Je fais:

private
void languesToolStripMenuItem_Click(
object sender,
EventArgs e){

if (sender == françaisToolStripMenuItem)
{

françaisToolStripMenuItem.Checked =
true;
englishToolStripMenuItem.Checked =

false;

}

else
if (sender == englishToolStripMenuItem)
{

englishToolStripMenuItem.Checked =
true;

françaisToolStripMenuItem.Checked =
false;

}

private
void françaisToolStripMenuItem_Click(
object sender,
EventArgs e){

françaisToolStripMenuItem.Click +=

new
EventHandler(languesToolStripMenuItem_Click);}

private
void englishToolStripMenuItem_Click(
object sender,
EventArgs e){

englishToolStripMenuItem.Click +=

new
EventHandler(languesToolStripMenuItem_Click);}
Quelqu'un pourrait m'aider à compléter le programme?
Merci

7 réponses

Messages postés
273
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
6 février 2009
1
Tu as le choix :
- Dans les propriétés de ton control, aux niveaux des évenements, tu définit la bonne méthode de l'évenement, ici : languesToolStripMenuItem_Click
et tu ne met rien dans le constructeur.
- Soit tu te désabonnes dans le designer de VS, soit directement dans dans le fichier designer de ta form et tu t'abone aux évenements après l'initialize.

<hr />
ZeBobo5 -
http://blogs.msdn.com/zebobo5/
N'oubliez pas de cloturer votre post.
Messages postés
273
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
6 février 2009
1
Salut,

Tes déclaration d'abonnements d'évenements sont mal écrit, voilà la correction  :

public TonConstructeur ou Initialize()
{
   françaisToolStripMenuItem.Click += newEventHandler(languesToolStripMenuItem_Click); 
   englishToolStripMenuItem.Click += newEventHandler(languesToolStripMenuItem_Click);
}

privatevoid languesToolStripMenuItem_Click(object sender, EventArgs e)

{

   if (sender == françaisToolStripMenuItem)
   { 
      
françaisToolStripMenuItem.Checked = true; 

      englishToolStripMenuItem.Checked =
false; 

   } 

   else
if (sender == englishToolStripMenuItem)
   { 

      englishToolStripMenuItem.Checked =
true; 

      françaisToolStripMenuItem.Checked =
false; 
   }

}

//private
void
françaisToolStripMenuItem_Click(
object
sender,
EventArgs
e)
//{
//   françaisToolStripMenuItem.Click += new

EventHandler
(languesToolStripMenuItem_Click);
//}

//private
void
englishToolStripMenuItem_Click(
object
sender,
EventArgs
e)
//{
//   englishToolStripMenuItem.Click += new

EventHandler
(languesToolStripMenuItem_Click);
//}

<hr />
ZeBobo5
N'oubliez pas de cloturer votre post.
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010

le probleme c'est que Initialise est fait automatiquement quan je crée mon projet:

public Form1()
{
InitializeComponent();
}
Donc je vois pas où déclarer:

  françaisToolStripMenuItem.Click += newEventHandler(languesToolStripMenuItem_Click); 
   englishToolStripMenuItem.Click += newEventHandler(languesToolStripMenuItem_Click);

Parceque si je m'amuse à déclarer les abonnements d'évenements ca me met des erreurs
Merci.
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010

Merci bien,ca marche
Messages postés
273
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
6 février 2009
1
Si ca marche, tu peux fermer ton post SVP. Merci, bonne journée

<hr />
ZeBobo5
N'oubliez pas de cloturer votre post.
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
82
Au passage, ne pas faire l'amalgame entre la fonctionnalité "Réponse acceptée" et une cloture de post.
Vous ne pouvez pas cloturer votre post dans le sens où des réponses peuvent toujours etre ajoutées. (sauf si un admin décide de le cloturer, à des fins de modération)
La fonctionnalité "Réponse acceptée" est là pour mettre en évidence là/les réponse(s) ayant permis de résoudre le problème.
Ce n'est donc pas forcément à utiliser sur le dernier message du post comme certains ont l'air de le penser, et encore moins sur tous les messages du post.
Une réponse acceptée ne clôturera PAS le post.

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
82
Et naturellement accepter des réponses permet de voir plus facilement les sujets non résolus dans la liste des messages.

/*
coq
MVP Visual C#
CoqBlog
*/