Problème de ContextMenu

Le
Millox Frédéric
Bonjour,

J'ai un problème qui me paraît insoluble :-(

J'utilise un ocx qui me permet de manipuler les images. Cet ocx ne contient
pas d'attribut ContextMenu pour lui attribuer un ContextMenu défini. J'ai
donc utilisé la manip classique qui consiste à tester le click droit lors de
l'événement MouseDown de l'ocx et à afficher le ContextMenu par :

MyContextMenu.Show(sender, New Point(e.x, e.y)) - sender contenant bien
l'instance de l'ocx et e.x, e.y les coordonnées.

Lors de l'execution, le ContextMenu s'affiche bien mais TOUS les MenuItems
sont grisés comme si tous MenuItems avaient la propriétées Enabled=
False.Inutile de préciser que j'ai testé avant et SURTOUT après de faire
le Show :

For Each MenuItemObj As MenuItem In MyContextMenu.MenuItems
Console.WriteLine(MenuItemObj.Enabled.ToString)
Next

Cela m'affiche bien True pour chaque MenuItem.
J'ai pensé à un problème de Paint, cependant, l'événement Click de chaque
MenuItem n'est pas accessible comme si la propriétée Enabled était vraiment à
l'état False

Merci d'avance pour toute réponse subceptible de m'éclairer.

--
fmillox
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilles TOURREAU
Le #12220141
Le Thu, 20 Dec 2007 11:29:01 +0100, Millox Frédéric

Bonjour,

J'ai un problème qui me paraît insoluble... :-(

J'utilise un ocx qui me permet de manipuler les images. Cet ocx ne
contient
pas d'attribut ContextMenu pour lui attribuer un ContextMenu défini. J'ai
donc utilisé la manip classique qui consiste à tester le click droit
lors de
l'événement MouseDown de l'ocx et à afficher le ContextMenu par :

MyContextMenu.Show(sender, New Point(e.x, e.y)) - sender contenant bien
l'instance de l'ocx et e.x, e.y les coordonnées.

Lors de l'execution, le ContextMenu s'affiche bien mais TOUS les
MenuItems
sont grisés comme si tous MenuItems avaient la propriétées Enabled > False....Inutile de préciser que j'ai testé avant et SURTOUT après de
faire
le Show :

For Each MenuItemObj As MenuItem In MyContextMenu.MenuItems
Console.WriteLine(MenuItemObj.Enabled.ToString)
Next

Cela m'affiche bien True pour chaque MenuItem.
J'ai pensé à un problème de Paint, cependant, l'événement Click de chaque
MenuItem n'est pas accessible comme si la propriétée Enabled était
vraiment à
l'état False...

Merci d'avance pour toute réponse subceptible de m'éclairer.




Bonjour et bonne année !

Avez-vous testé tout simplement si MyContextMenu.Enabled = False ?

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Millox Frédéric
Le #12220091
Bonjour, mes meilleurs voeux pour cette nouvelle année !!!

Merci pour votre réponse.
La propriétée Enabled n'existe pas pour un objet ContextMenu...
J'ai testé d'afficher MyContextMenu de la même manière (click droit lors de
l'événement MouseDown + MyContextMenu.Show(sender, New Point(e.x, e.y)) )
dans un panel. Tout marche bien.
Par contre, si je fais : clique droit sur le panel (tous les MenusItems sont
nickels) puis clicque droit sur l'ocx (tous les MenuItems sont grisés) et
enfin reclique droit sur le panel, les MenuItems sont encore grisés... Bien
sûr quand je teste pour chaque MenuItem la propriétée Enabled, elle est égale
à True...
Je ne compends rien à ce phénomène étrange.

Une petie idée ??? :-(

Bonne journée.

--
fmillox


"Gilles TOURREAU" a écrit :

Le Thu, 20 Dec 2007 11:29:01 +0100, Millox Frédéric

> Bonjour,
>
> J'ai un problème qui me paraît insoluble... :-(
>
> J'utilise un ocx qui me permet de manipuler les images. Cet ocx ne
> contient
> pas d'attribut ContextMenu pour lui attribuer un ContextMenu défini. J'ai
> donc utilisé la manip classique qui consiste à tester le click droit
> lors de
> l'événement MouseDown de l'ocx et à afficher le ContextMenu par :
>
> MyContextMenu.Show(sender, New Point(e.x, e.y)) - sender contenant bien
> l'instance de l'ocx et e.x, e.y les coordonnées.
>
> Lors de l'execution, le ContextMenu s'affiche bien mais TOUS les
> MenuItems
> sont grisés comme si tous MenuItems avaient la propriétées Enabled > > False....Inutile de préciser que j'ai testé avant et SURTOUT après de
> faire
> le Show :
>
> For Each MenuItemObj As MenuItem In MyContextMenu.MenuItems
> Console.WriteLine(MenuItemObj.Enabled.ToString)
> Next
>
> Cela m'affiche bien True pour chaque MenuItem.
> J'ai pensé à un problème de Paint, cependant, l'événement Click de chaque
> MenuItem n'est pas accessible comme si la propriétée Enabled était
> vraiment à
> l'état False...
>
> Merci d'avance pour toute réponse subceptible de m'éclairer.
>

Bonjour et bonne année !

Avez-vous testé tout simplement si MyContextMenu.Enabled = False ?

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr



Gilles TOURREAU [MVP]
Le #12214921
Le Mon, 07 Jan 2008 08:14:01 +0100, Millox Frédéric

Bonjour, mes meilleurs voeux pour cette nouvelle année !!!

Merci pour votre réponse.
La propriétée Enabled n'existe pas pour un objet ContextMenu...



Autant pour moi...

J'ai testé d'afficher MyContextMenu de la même manière (click droit lors
de
l'événement MouseDown + MyContextMenu.Show(sender, New Point(e.x, e.y)) )
dans un panel. Tout marche bien.
Par contre, si je fais : clique droit sur le panel (tous les MenusItems
sont
nickels) puis clicque droit sur l'ocx (tous les MenuItems sont grisés) et
enfin reclique droit sur le panel, les MenuItems sont encore grisés...
Bien
sûr quand je teste pour chaque MenuItem la propriétée Enabled, elle est
égale
à True...
Je ne compends rien à ce phénomène étrange.

Une petie idée ??? :-(

Bonne journée.




Avez-vous essayé avec la nouvelle classe du 2.0 : ContextMenuStrip ?

Cordialement

--
Gilles TOURREAU - MVP C#


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Millox Frédéric
Le #12214691
Bonjour Gilles,

J'aurais bien voulu, mais je suis en 1.1...

Bonne journée.

--
fmillox


"Gilles TOURREAU [MVP]" a écrit :

Le Mon, 07 Jan 2008 08:14:01 +0100, Millox Frédéric

> Bonjour, mes meilleurs voeux pour cette nouvelle année !!!
>
> Merci pour votre réponse.
> La propriétée Enabled n'existe pas pour un objet ContextMenu...

Autant pour moi...

> J'ai testé d'afficher MyContextMenu de la même manière (click droit lors
> de
> l'événement MouseDown + MyContextMenu.Show(sender, New Point(e.x, e.y)) )
> dans un panel. Tout marche bien.
> Par contre, si je fais : clique droit sur le panel (tous les MenusItems
> sont
> nickels) puis clicque droit sur l'ocx (tous les MenuItems sont grisés) et
> enfin reclique droit sur le panel, les MenuItems sont encore grisés...
> Bien
> sûr quand je teste pour chaque MenuItem la propriétée Enabled, elle est
> égale
> à True...
> Je ne compends rien à ce phénomène étrange.
>
> Une petie idée ??? :-(
>
> Bonne journée.
>

Avez-vous essayé avec la nouvelle classe du 2.0 : ContextMenuStrip ?

Cordialement

--
Gilles TOURREAU - MVP C#


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr



Publicité
Poster une réponse
Anonyme