OVH Cloud OVH Cloud

Comment fermer form dans combo_click ???

4 réponses
Avatar
X
Bonjour,

Je viens de tomber sur un problème que je n'avais jamais eu, je ne peux
sortir par un unload formx d'une procédure combox_click, j'ai un message
erreur 365 "impossible de décharger dans ce contexte", et le help dit qu'en
effet, un "unload formx dans un combox_click, il faut le retirer"... Heu,
certes, mais comment faire...
En effet, je pourrais facilement contourner, mais je voudrais savoir si
quelqu'un peut me dire comment fermer une form sur le click d'un combo dans
sa procédure click, exemple:

FORM1
load fom2
form2.show , Me
--------
FORM2
Load...
combo1.clear
combo1.additem = "1"
combo1.additem = "2"
combo1.listindex = 0

Combo1_Click()
if combo1.listindex = 0 then unload form2
--------ICI ERREUR---------

Comment faire ???

--
Merci.
--
Joseph Attila PUSZTAY, romancier, auteur de logiciels...
---
ECRIRE
http://irolog.free.fr/ecrire/index.htm

LOGICIELS
http://irolog.free.fr

SITE
http://irolog.free.fr/joe/index.htm

FAQ VB
http://faq.vb.free.fr

PRINCIPE D'UTILISATION DES NEWSGROUPS
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm
********************************************************

4 réponses

Avatar
Arnaud 2M
Bonjour,

En passant le focus à un autre objet de la form comme ici par exemple à un
textbox :

Private Sub Combo1_Click()
Text1.SetFocus
End Sub

Private Sub Text1_GotFocus()
Unload Me
End Sub
--
Arnaud,
http://cerbermail.com/?CMJMEZByvW


"X" <.> a écrit dans le message de
news:%
Bonjour,

Je viens de tomber sur un problème que je n'avais jamais eu, je ne


peux
sortir par un unload formx d'une procédure combox_click, j'ai un message
erreur 365 "impossible de décharger dans ce contexte", et le help dit


qu'en
effet, un "unload formx dans un combox_click, il faut le retirer"... Heu,
certes, mais comment faire...
En effet, je pourrais facilement contourner, mais je voudrais savoir si
quelqu'un peut me dire comment fermer une form sur le click d'un combo


dans
sa procédure click, exemple:

FORM1
load fom2
form2.show , Me
--------
FORM2
Load...
combo1.clear
combo1.additem = "1"
combo1.additem = "2"
combo1.listindex = 0

Combo1_Click()
if combo1.listindex = 0 then unload form2
--------ICI ERREUR---------

Comment faire ???

--
Merci.
--
Joseph Attila PUSZTAY, romancier, auteur de logiciels...
---
ECRIRE
http://irolog.free.fr/ecrire/index.htm

LOGICIELS
http://irolog.free.fr

SITE
http://irolog.free.fr/joe/index.htm

FAQ VB
http://faq.vb.free.fr

PRINCIPE D'UTILISATION DES NEWSGROUPS
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm
********************************************************




Avatar
Thierry
Dans ton exemple, tu fermes ta forme lorsque l'index de l'item est à 0.
Or, dans ton load, Tu affectes délibérément 0 à l'index de ton combo. Du
coup, en plein chargement, tu appelles le unload d'où l'erreur.

Si tu veux vraiement que le 1er item de ton combo soit "fermer", il faut :
- Soit que tu mettes l'index à 1 (pas à 0) et ainsi choisir le 2ème élément,
par défaut, de ta liste,
- Soit tu met -1 (aucune sélection)

-Thierry-



"X" <.> a écrit dans le message de news:
#
Bonjour,

Je viens de tomber sur un problème que je n'avais jamais eu, je ne


peux
sortir par un unload formx d'une procédure combox_click, j'ai un message
erreur 365 "impossible de décharger dans ce contexte", et le help dit


qu'en
effet, un "unload formx dans un combox_click, il faut le retirer"... Heu,
certes, mais comment faire...
En effet, je pourrais facilement contourner, mais je voudrais savoir si
quelqu'un peut me dire comment fermer une form sur le click d'un combo


dans
sa procédure click, exemple:

FORM1
load fom2
form2.show , Me
--------
FORM2
Load...
combo1.clear
combo1.additem = "1"
combo1.additem = "2"
combo1.listindex = 0

Combo1_Click()
if combo1.listindex = 0 then unload form2
--------ICI ERREUR---------

Comment faire ???

--
Merci.
--
Joseph Attila PUSZTAY, romancier, auteur de logiciels...
---
ECRIRE
http://irolog.free.fr/ecrire/index.htm

LOGICIELS
http://irolog.free.fr

SITE
http://irolog.free.fr/joe/index.htm

FAQ VB
http://faq.vb.free.fr

PRINCIPE D'UTILISATION DES NEWSGROUPS
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm
********************************************************




Avatar
X
Bonsoir,

Merci de ta réponse, en fait j'ai contourné le problème avec un bouton,
car VB semble indiquer qu'on ne peut fermer une feuille dans un clique de
comboBox...
Sinon, j'avais en effet vu que je chargeais à 0 (c'est moi qui le faisais
:o) Mais ensuite j'ai donc tenté de sauter par une variable publique
initialisée par exemple à 0 lors du lancement (activate), et si 0 je sautais
le code qui fermait la forme, puis je la passais à 1, mais ça plantait quand
même, VB semblait bloquer dès qu'il lisait le code, comme une utilisation
d'instruction interdite dans ce cas...


"Thierry" a écrit dans le message de news:
uSQW%
| Dans ton exemple, tu fermes ta forme lorsque l'index de l'item est à 0.
| Or, dans ton load, Tu affectes délibérément 0 à l'index de ton combo. Du
| coup, en plein chargement, tu appelles le unload d'où l'erreur.
|
| Si tu veux vraiement que le 1er item de ton combo soit "fermer", il faut :
| - Soit que tu mettes l'index à 1 (pas à 0) et ainsi choisir le 2ème
élément,
| par défaut, de ta liste,
| - Soit tu met -1 (aucune sélection)
|
| -Thierry-
|
|
|
| "X" <.> a écrit dans le message de news:
| #
| > Bonjour,
| >
| > Je viens de tomber sur un problème que je n'avais jamais eu, je ne
| peux
| > sortir par un unload formx d'une procédure combox_click, j'ai un message
| > erreur 365 "impossible de décharger dans ce contexte", et le help dit
| qu'en
| > effet, un "unload formx dans un combox_click, il faut le retirer"...
Heu,
| > certes, mais comment faire...
| > En effet, je pourrais facilement contourner, mais je voudrais savoir si
| > quelqu'un peut me dire comment fermer une form sur le click d'un combo
| dans
| > sa procédure click, exemple:
| >
| > FORM1
| > load fom2
| > form2.show , Me
| > --------
| > FORM2
| > Load...
| > combo1.clear
| > combo1.additem = "1"
| > combo1.additem = "2"
| > combo1.listindex = 0
| >
| > Combo1_Click()
| > if combo1.listindex = 0 then unload form2
| > --------ICI ERREUR---------
| >
| > Comment faire ???
| >
| > --
| > Merci.
| > --
| > Joseph Attila PUSZTAY, romancier, auteur de logiciels...
| > ---
| > ECRIRE
| > http://irolog.free.fr/ecrire/index.htm
| >
| > LOGICIELS
| > http://irolog.free.fr
| >
| > SITE
| > http://irolog.free.fr/joe/index.htm
| >
| > FAQ VB
| > http://faq.vb.free.fr
| >
| > PRINCIPE D'UTILISATION DES NEWSGROUPS
| > http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm
| > ********************************************************
| >
| >
|
|
Avatar
X
Bonsoir,

Merci de ta réponse, oui, j'ai aussi essayé par un objet.setfocus, mais
rien n'y faisait, VB semblait bloquer dès qu'il lisait le code, comme si ce
code était interdit dans ce contexte...
J'ai contourné avec un bouton :o)



"Arnaud 2M" a écrit dans le message de news:
e8nf%
| Bonjour,
|
| En passant le focus à un autre objet de la form comme ici par exemple à un
| textbox :
|
| Private Sub Combo1_Click()
| Text1.SetFocus
| End Sub
|
| Private Sub Text1_GotFocus()
| Unload Me
| End Sub
| --
| Arnaud,
| http://cerbermail.com/?CMJMEZByvW
|
|
| "X" <.> a écrit dans le message de
| news:%
| > Bonjour,
| >
| > Je viens de tomber sur un problème que je n'avais jamais eu, je ne
| peux
| > sortir par un unload formx d'une procédure combox_click, j'ai un message
| > erreur 365 "impossible de décharger dans ce contexte", et le help dit
| qu'en
| > effet, un "unload formx dans un combox_click, il faut le retirer"...
Heu,
| > certes, mais comment faire...
| > En effet, je pourrais facilement contourner, mais je voudrais savoir si
| > quelqu'un peut me dire comment fermer une form sur le click d'un combo
| dans
| > sa procédure click, exemple:
| >
| > FORM1
| > load fom2
| > form2.show , Me
| > --------
| > FORM2
| > Load...
| > combo1.clear
| > combo1.additem = "1"
| > combo1.additem = "2"
| > combo1.listindex = 0
| >
| > Combo1_Click()
| > if combo1.listindex = 0 then unload form2
| > --------ICI ERREUR---------
| >
| > Comment faire ???
| >
| > --
| > Merci.
| > --
| > Joseph Attila PUSZTAY, romancier, auteur de logiciels...
| > ---
| > ECRIRE
| > http://irolog.free.fr/ecrire/index.htm
| >
| > LOGICIELS
| > http://irolog.free.fr
| >
| > SITE
| > http://irolog.free.fr/joe/index.htm
| >
| > FAQ VB
| > http://faq.vb.free.fr
| >
| > PRINCIPE D'UTILISATION DES NEWSGROUPS
| > http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm
| > ********************************************************
| >
| >
|
|