Menu contextuel dans une cellule d'un datagridview [C#.NET2.0] - C#/.NET managed - Programmation
Marsh Posté le 23-08-2006 à 14:07:16
Je pense qu'on peut faire beaucoup mieux, mais ceci fonctionne :
Code :
|
PS: ça marche pas trop, au bout d'un certain nombre de clicks ça déconne, je te laisse trouver pkoi, ça me gave
Marsh Posté le 23-08-2006 à 14:09:22
Merci, je vais tenter ca
Marsh Posté le 23-08-2006 à 14:10:10
ps: c'est bien gore hein si tu trouves mieux, n'hésite pas à poster ici
Marsh Posté le 23-08-2006 à 14:25:21
Hmm je ne comprends pas trop la 2eme fonction ... quel est le "totoToolStripMenuItem" ? enfin quel rapport avec le context menu ?
Marsh Posté le 23-08-2006 à 14:29:25
parceque j'ai fait un contextstringmenuchais pas quoi (pas toruvé le context-menu tout court )
j'ai créé un item bidon dedans, et j'ai indiqué quoi faire qd on double-click.
=> et du coup, dans la première fonction, j'associe juste le context-menu à ma cellule, et je change le libellé de l'item en question.
c'est juste un exemple
Marsh Posté le 23-08-2006 à 14:40:33
Hmm je n'ai pas trop compris, et je n'arrive pas à le faire marcher
Si je résume:
Si on clic droit sur une cellule de mon datagrivdview, dans un intervalle autorisé, on crée une nouvelle céllule à l'endroit cliqué, on lui donne les valeurs de la cellule cliquée, et on l'affiche au dessus.
Jusque la, j'ai bon ?
Puis ensuite, je vois pas le rapport entre la 1ere et la 2eme fonction !
Marsh Posté le 23-08-2006 à 14:43:15
nan, c tout faux
dans ton designer, tu rajoutes un handler sur l'évènement "cellclick" de ton grid.
ensuite, dans ce handler, tu :
1/ récupère la cellule cliquée (attention, "cellclick" peut se déclencher même si on clique pas sur une cell d'où mes != -1 )
2/ la fou dans l'objet tag de ton contextmenu (ouais, c'est crade )
3/ tu affiches le contextmenu
ceci dit, je suis persuadé qu'il y a bien plus propre comme technique, mais c'est vrai que c'est pas intuitif...
Marsh Posté le 23-08-2006 à 14:49:59
Pfiouuu ca me balance une exception a la gueule, et ce, sans afficher le menu
Moi aussi je suis sur qu'il y a plus simple
'vais continuer à tester ^^
Marsh Posté le 23-08-2006 à 16:43:22
Hm j'ai avancé un peu, j'ai ca pour l'instant:
Code :
|
Et ca fonctionne ^^
Maintenant, j'aimerais virer la messagebox, et y mettre un menu contextuel à la place. Comment faire ?
Marsh Posté le 23-08-2006 à 16:48:02
Arf, ouais, le coup du cellcontentclick, c'est plus mieux
J'étais resté bloqué par ma recherche infructueuse de "cellrightclick"
Ben maintenant, tu fais juste un show() sur ton contextmenu (c'est normalement un objet que tu as créé)
Marsh Posté le 23-08-2006 à 16:52:43
Bah oui mais comment j'etablis le rapport avec la cellule selectionnée ? et encore faut-il qu'elle devienne selectionnée, ce qui se fait normalement avec un clic gauche, et pas droit !
Marsh Posté le 23-08-2006 à 16:54:46
passe par la propriété Tag de ton objet contextmenu
ainsi quand tu cliqueras sur un item de ton contextmenu, en allant chercher son parent.tag tu trouveras les infos de la cellule cliquée
Marsh Posté le 23-08-2006 à 17:49:59
J'ai une autre solution, je tente ça ce soir, jte tiens au courant
Marsh Posté le 23-08-2006 à 12:16:51
Bonjour,
J'ai un datagridview avec des fichiers listés dedans, dans la 1ere colonne. J'aimerais ajouter un menu contextuel, mais qui serait spécifique a une cellule, et non au datagridview entier (de sorte à editer une valeur concernant seulement le fichier choisi dans la liste).
Qqun a une idée ?
Merci d'avance