OVH Cloud OVH Cloud

OnClick sur un custom control

3 réponses
Avatar
amplitude
Bonjour, j'ai cr=E9er un Custom Control.

En gros, ya un panel avec un picturebox dessus et un label. Dans le=20
controle, j'ai fait en sorte que lorsqu'on click sur le picture box, le=20
panel grandit et un bool ( get{}set{} ) se met =E0 true.

Jusque l=E0, pas de prob. Mais ce que je voudrait, c'est lors de=20
l'utilisation de mon controle das une appli, pour faire un=20
OnClick(.....) mais seulement sur le pictureBox, car actuellement, si je =

fais un OnClick, il prend en compte TOUT le controle, label y compris...

MErci de votre aide.

3 réponses

Avatar
Mitsuru FURUTA [Ms]
Bonjour,

En effet, l'évènement OnClick du PictureBox n'est pas visible depuis le
CustomControl et c'est normal.
Il faut le rendre visible en ajoutant une propriété au CustomControl:

public event EventHandler OnPictureBoxClick;

Lorsque le Click du PictureBox a lieu, il faut alors déclencher cet
évènement tout en vérifiant que qqun y a bien branché une méthode.

if (OnPictureBoxClick != null)
OnPictureBoxClick(this, null);

Cela devrait fonctionner. Si vous voulez que l'évènement s'appelle
absolument OnClick, vous pouvez le faire mais il cachera l'évènement OnClick
de base du CustomControl. Il faudra alors ajouter le mot clé "new".

Bonne continuation,

Mitsuru FURUTA [Microsoft FRANCE]


"amplitude" wrote in message
news:cglfsq$oc2$
Bonjour, j'ai créer un Custom Control.

En gros, ya un panel avec un picturebox dessus et un label. Dans le
controle, j'ai fait en sorte que lorsqu'on click sur le picture box, le
panel grandit et un bool ( get{}set{} ) se met à true.

Jusque là, pas de prob. Mais ce que je voudrait, c'est lors de
l'utilisation de mon controle das une appli, pour faire un
OnClick(.....) mais seulement sur le pictureBox, car actuellement, si je
fais un OnClick, il prend en compte TOUT le controle, label y compris...

MErci de votre aide.
Avatar
amplitude
Mitsuru FURUTA [Ms] a écrit :
Bonjour,

En effet, l'évènement OnClick du PictureBox n'est pas visible depui s le
CustomControl et c'est normal.
Il faut le rendre visible en ajoutant une propriété au CustomContro l:

public event EventHandler OnPictureBoxClick;

Lorsque le Click du PictureBox a lieu, il faut alors déclencher cet
évènement tout en vérifiant que qqun y a bien branché une mét hode.

if (OnPictureBoxClick != null)
OnPictureBoxClick(this, null);

Cela devrait fonctionner. Si vous voulez que l'évènement s'appelle
absolument OnClick, vous pouvez le faire mais il cachera l'évènemen t OnClick
de base du CustomControl. Il faudra alors ajouter le mot clé "new".




Merci beaucoup, effectivement, le nom je m'en fiche un peu :))

Encore merci :)
Avatar
amplitude
Bonjour, merci de votre aide, je comprend le principe de ce qu'il faut
faire, mais il me manque comment le faire.

Au risque d'abuser, pourriez me dire concrètement comment je dois procé der ?

Merci encore.

Mitsuru FURUTA [Ms] a écrit :
Bonjour,

En effet, l'évènement OnClick du PictureBox n'est pas visible depui s le
CustomControl et c'est normal.
Il faut le rendre visible en ajoutant une propriété au CustomContro l:

public event EventHandler OnPictureBoxClick;

Lorsque le Click du PictureBox a lieu, il faut alors déclencher cet
évènement tout en vérifiant que qqun y a bien branché une mét hode.

if (OnPictureBoxClick != null)
OnPictureBoxClick(this, null);

Cela devrait fonctionner. Si vous voulez que l'évènement s'appelle
absolument OnClick, vous pouvez le faire mais il cachera l'évènemen t OnClick
de base du CustomControl. Il faudra alors ajouter le mot clé "new".

Bonne continuation,

Mitsuru FURUTA [Microsoft FRANCE]