Nous sommes actuellement le 04 Juil 2026, 22:21

Le fuseau horaire est UTC-5 heures [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 8 message(s) ] 
Auteur Message
 Sujet du message: Programmation C Sharp
MessagePublié: 25 Fév 2006, 15:50 
Hors-ligne
Régulier
Régulier

Inscription : 22 Juin 2003, 00:01
Message(s) : 396
Bonjour, j'ai un problème de programmation que je n'arrive pas a résoudre. Je vous met en situation, j'ai une interface avec une case a cocher qui est déja cochée. Je souhaite que lorsque l'utilisateur clique dessus, un evenement exécute le code suivant:


Code :
Si (objetExiste) alors
     Annuler l'evenement decocher case
     Affiche message d'avertissement


le problème est que sur une case a cocher, il y a l'evenement "Click" et "checkedChange" qui recoivent tous les 2 un argument de type EventHandler. Avec ce type d'evenement il est impossible d'annuler l'evenement. Donc la solution serait d'avoir un evenement qui a comme argument de type CancelEventHandler. Mais comment????


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 26 Fév 2006, 13:33 
Hors-ligne
Nouvel adepte
Nouvel adepte

Inscription : 24 Avr 2003, 21:47
Message(s) : 86
Est-ce que tu ne pourrais pas plutot griser la case à cocher (mettre son enabled à false) si la case en question ne peut pas être décochée?

Sinon, à moins que je me trompe, il n'y a pas d'événement qui peut annuler un checkedChange sur une case à cocher. The pourrais par contre, dans l'événement, vérifier si la case vient d'être décochée, et si elle ne doit pas l'être, au lieu d'annuler l'événement, recoches-la toi-même par programmation. Ça reviendra plus ou moins au même.


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 26 Fév 2006, 14:21 
Hors-ligne
Régulier
Régulier

Inscription : 22 Juin 2003, 00:01
Message(s) : 396
J'Avais pensé a mettre la propriété Enabled a False, mais je travaille pour un patron qui préférerait fait afficher un msg d'erreur qui dit que la case ne peut pas etre décochée. Pour ce qui est de recocher la case, j'y avais déja pensé, mais ce n'est pas élégant de voir la case se cocher et se décocher.


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 26 Fév 2006, 15:31 
Hors-ligne
Nouvel adepte
Nouvel adepte

Inscription : 24 Avr 2003, 21:47
Message(s) : 86
J'ai trouvé ceci en fouillant sur les groupes Google.

Il y a une propriété "AutoCheck" sur la case à cocher que tu peux mettre à false. Quand la case est cliquée, l'événement checkedChange n'est pas levé par défaut. Tu peux alors attraper l'événement Click ou bien MouseDown, tu y vérifies tes conditions, et tu décoches alors par programmation la case si tu veux. Sinon rien ne devrait se passer.

J'espère que ça va t'aider!


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 26 Fév 2006, 15:54 
Hors-ligne
Référence
Référence
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 00:24
Message(s) : 5834
Tu peux aussi te faire une classe qui va hériter de checkbox et contrôler les événements à ta manière :
http://www.experts-exchange.com/Program ... 22558.html

_________________
This posting is provided "AS IS" with no warranties, and confers no rights!
©2006 - 2014 Jump


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 26 Fév 2006, 19:08 
Hors-ligne
Régulier
Régulier

Inscription : 22 Juin 2003, 00:01
Message(s) : 396
hummmm, oui en effet, ca peut fonctionner. Je vais tenter d'inclure cela dans mon programme demain et je vous reviens sur cela!! Merci beaucoup!!!


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 01 Mars 2006, 11:09 
Hors-ligne
Régulier
Régulier

Inscription : 22 Juin 2003, 00:01
Message(s) : 396
Mark a écrit:
J'ai trouvé ceci en fouillant sur les groupes Google.

Il y a une propriété "AutoCheck" sur la case à cocher que tu peux mettre à false. Quand la case est cliquée, l'événement checkedChange n'est pas levé par défaut. Tu peux alors attraper l'événement Click ou bien MouseDown, tu y vérifies tes conditions, et tu décoches alors par programmation la case si tu veux. Sinon rien ne devrait se passer.

J'espère que ça va t'aider!


Oui en effet ta solution m'a beaucoup aidé! Je ne pensais pas qu'on pouvait annuler des évènements seulement en mettant a false une propriété. Ca fonctionne très bien et merci pour la découverte, tu m'as aidé plus que ce que tu pourrais croire.

Merci!!


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 01 Mars 2006, 22:49 
Hors-ligne
Nouvel adepte
Nouvel adepte

Inscription : 24 Avr 2003, 21:47
Message(s) : 86
Tintinabulles a écrit:
Mark a écrit:
J'ai trouvé ceci en fouillant sur les groupes Google.

Il y a une propriété "AutoCheck" sur la case à cocher que tu peux mettre à false. Quand la case est cliquée, l'événement checkedChange n'est pas levé par défaut. Tu peux alors attraper l'événement Click ou bien MouseDown, tu y vérifies tes conditions, et tu décoches alors par programmation la case si tu veux. Sinon rien ne devrait se passer.

J'espère que ça va t'aider!


Oui en effet ta solution m'a beaucoup aidé! Je ne pensais pas qu'on pouvait annuler des évènements seulement en mettant a false une propriété. Ca fonctionne très bien et merci pour la découverte, tu m'as aidé plus que ce que tu pourrais croire.

Merci!!


Ça fait plaisir!


Haut
 Profil  
Répondre en citant  
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 8 message(s) ] 

Le fuseau horaire est UTC-5 heures [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 0 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum

Recherche de:
Aller vers :  
cron
Propulsé par phpBB® Forum Software © phpBB Group
Traduction et support en françaisHébergement de site