Accueil > Forum > > > > Probleme de Setfocus avec un bouton ANNULER
Probleme de Setfocus avec un bouton ANNULER
mardi 23 mai 2006 à 14:29:19 |
Probleme de Setfocus avec un bouton ANNULER

jiojioforever
|
Salut j'ai un petit probleme avec un setfocus et un bouton annuler en gros mon code ressemble à ça Private Sub Text_TotalAllu_LostFocus() If ((Val(Text_TotalAllu) < 10) Or (Val(Text_TotalAllu) > 20) Or (Text_TotalAllu = "")) Then MsgBox ("Une erreur s'est produite au niveau de la saisie du nombre d'allumettes") Text_TotalAllu = "" Text_TotalAllu.SetFocus End If End Sub Si mon champt nest mal rempli alors on le remet vide et on positionne l'utilisateur jusqu'à temps que ça soit bon...mais le probleme est que si l'utilisateur veut partir de l'application en cliquant sur le bouton annuler il ne peut pas ! il doit remplir le champ d'abord... comment je peux faire pour éviter cela ? merci d'avance
|
|
mardi 23 mai 2006 à 16:28:41 |
Re : Probleme de Setfocus avec un bouton ANNULER

JB76000
|
Si tu as un bouton "annuler", je suppose que tu as aussi un bouton "valider" ou "ok". Je te propose de faire ton test au moment ou tu valides. De cette manière, tu ne fais pas une boucle avec le focus. De plus, ça te permet de regrouper l'ensemble de tes contrôles de "présence texte" et ainsi compresser ton code. Utilises un groupe de textbox (textbox1(0), textbox1(1),...,textbox1(5)) met ça dans ton bouton valider: 'initialisation de la variableerreur=-1 'boucle de contrôle de l'état de tes textboxfor n=5 to 0 step -1 if textbox1(n). text="" then erreur=n next n 'définition du message d'erreur si présence d'erreurselect case erreur case 0 message="du nombre d'allumettes" case 1 message="du nom du joueur ... end select'en cas d'erreurif erreur >-1 then w= msgbox("Erreur sur la saisie " & message) ' msgbox textbox1(erreur). setfocus'positionnement sur la textbox en défaut exit sub'quitter le sub en coursend if'Puis tu mets ton code correspondant au boutton validerJer 
|
|
mardi 23 mai 2006 à 16:31:23 |
Re : Probleme de Setfocus avec un bouton ANNULER

crenaud76
|
Il existe un evenement spécial pour ce genre de test. Il s'agit de l'EVT Validate(). Il se déclenche pour un controle lorsque celui-ci perd le focus au profit d'un autre controle dont la propriété CausesValidation est à True (qui est la valeur apr défaut).
Donc, il te suffit de faire un truc du genre
Private Sub Text_TotalAllu_Validate(Cancel As Boolean)
If ((Val(Text_TotalAllu.Text) < 10) Or (Val(Text_TotalAllu.Text) > 20) Or (Text_TotalAllu.Text = "")) Then
MsgBox ("Une erreur s'est produite au niveau de la saisie du nombre d'allumettes")
Text_TotalAllu.Text = ""
Cancel = True
End If
End Sub
... et de mettre la propriété CausesValidation à False pour ton bouton ANNULER.
|
|
mardi 23 mai 2006 à 18:43:16 |
Re : Probleme de Setfocus avec un bouton ANNULER

jiojioforever
|
Je ne vois pas à quoi te sert le CausesValidation dans le bouton ANNULER tu ne veux pas plutôt mettre Cancel = False ?
Private Sub bt_annuler_Click()
Cancel = False
Saisie1Joueur.Hide
End Sub
merci
|
|
mardi 23 mai 2006 à 19:24:14 |
Re : Probleme de Setfocus avec un bouton ANNULER

crenaud76
|
Non !!! Le CausesValidation à False pour le bouton Annuler (c'est une propriété du bouton, pas a mettre dans un EVt quelconque), pemet d'indiquer que si un controle perd le focus en faveur de ton bouton Annuler, l'EVT Validate() du controle perdant le focus ne sera pas traiter ! Et dans l'EVT Validate() du textbox (evt qui sera donc déclencher si cette textbox perd le focus en faveur d'un autre controle que le bouton Annuler -dont le causesvalidation est à False-), si les condition ne sont aps rempli pour que la valeur de al textbox soit OK, tu mets le parametre Cancel à True, pour que en sortie de l'EVT, Widnows redonne le focus à la textbox
CR
|
|
mardi 23 mai 2006 à 20:23:32 |
Re : Probleme de Setfocus avec un bouton ANNULER

jiojioforever
|
désolé mais ça ne fonctionne pas :s...
enfin si mais il teste quand je suis dans le champ ou je dois mettre le nombre d'allumer quand je place mon curseur dedant. Par contre si je veux faire annuler il refuse. toujours mon message d'erreurs sur le nombre d'allumettes :s
il faudrait faire appel de cette fonction sans le bouton valider_click() non ?
|
|
mardi 23 mai 2006 à 20:41:16 |
Re : Probleme de Setfocus avec un bouton ANNULER

jiojioforever
|
En fait j'ai 2 champs à remplir avant de valider
-le nom du joueur
-le nombre d'allumettes
|
|
mardi 23 mai 2006 à 22:32:09 |
Re : Probleme de Setfocus avec un bouton ANNULER

crenaud76
|
Si tu as bien mis la propriété CausesValidation du bouton ANNULER à False, l'EVT Validate() de ta textbox ne doit pas se déclencher si tu cliques sur le bouton ANNULER ! Par contre si tu as un bouton VALIDER, lui, il doit avoir sa propriété CausesValidation à True et si tu cliques dessus, la, l'EVT Validate de la textbox doit se déclencher, et donc vérifier la bonne saisie dans la textbox. Si la saisie est érronée, un coup de MsgBox et un Cancel à True et ca le fait ! Impossible que cela ne fonctionne pas ! Ou alors je m'exprime mal ? Ou alors tu es fatigué ? alcoolisé ? les trois en même temps ?
CR
|
|
mardi 23 mai 2006 à 23:19:21 |
Re : Probleme de Setfocus avec un bouton ANNULER

jiojioforever
|
C'est pas pour être désagréable mais non...
Il me bloque toujours sur mon champ pas rempli et impossible d'appuyer sur le bouton annuler le message me revient toujours ! voilà mon code :
BOUTON ANNULER :
Private Sub bt_annuler_Click()
CausesValidation = False
Saisie1Joueur.Hide
End Sub
BOUTON VALIDER :
Private Sub bt_valider_Click()
CausesValidation = True
// je passe tout les codes inutiles
End Sub
TEXTBOX1 (saisir le nom du joueur)
Private Sub Text_Joueur1_Validate(Cancel As Boolean)
If Text_Joueur1 = "" Then
MsgBox ("Vous avez oublié d'insérer votre nom")
Text_Joueur1 = ""
Cancel = True
End If
End Sub
TEXTBOX2 (saisir le nombre d'allumettes)
Private Sub Text_TotalAllu_Validate(Cancel As Boolean)
If ((Val(Text_TotalAllu.Text) < 10) Or (Val(Text_TotalAllu.Text) > 20) Or (Text_TotalAllu.Text = "")) Then
MsgBox ("Une erreur s'est produite au niveau de la saisie du nombre d'allumettes")
Text_TotalAllu.Text = ""
Cancel = True
End If
End Sub
Voilà en plus de ça j'ai remarqué que si je cliquais sur le bouton valider une premiere fois...je ne pouvais plus cliquer sur valider ou annuler ensuite (pourtant ils ne sont pas grisés)
merci pour la patience lol
|
|
mardi 23 mai 2006 à 23:50:10 |
Re : Probleme de Setfocus avec un bouton ANNULER

crenaud76
|
Tu n'as pas à modifier la valeur de "CausesValidation" dans les evt Click de tes boutons !!!!!!!!
En mode design, sur ta fenetre, tu sélectionnes ton bouton ANNULER et dans la liste de ses propriétés (en bas à gauche par défaut sous VS6), tu passes la valeur de CausesValidation = True. Et point barre !
Pour les deux textbox, c'est OK ! Le code est bon.
Pour le code des boutons, dans le ANNULER, tu laisses juste le machin.Hide, et pour le bouton VALIDER, tu laisses le code que tu n'as pas recopié dans ton message ci-dessus ... et ca suffit
|
|
Cette discussion est classée dans : bouton, text, probleme, setfocus, totalallu
Répondre à ce message
Sujets en rapport avec ce message
Common dialog textbox combo et bouton [ par iclic ]
Salute,Voila mon probleme sur ma form j'ai 1Common dialog 1textbox 1combo et 1bouton . Le chemin d'acces choisi par l'utilisateur va dans la text box
petit probleme de SQL [ par medhmd83 ]
bonjour,j'ai un probleme avec ma requete:Private Sub DataCombo1_Click(Area As Integer)txtid_type_service.Text = ("SELECT id_type_service FROM type_ser
Re : probleme code bouton suivant et precedent [ par pjcleder ]
PATThéoriquement, Ta base est déjà ouverte avant l'utilisation des boutons et tu n'as qu'à faire :if not rs.eof then rs.movenextpour le bouton suivant
Probleme delphi [ par rsca_en_force ]
Voila j'ai deux petit probleme tout 'abord j'aimerai savoir comment on fait que our dans le edit1.text on sait aller a la ligne 2) j'aimerai savori co
Probleme delphi [ par rsca_en_force ]
Voila j'ai deux petit probleme tout 'abord j'aimerai savoir comment on fait que our dans le edit1.text on sait aller a la ligne 2) j'aimerai savori co
Besoin d'aide, sortir d'un For avec un seul bouton [ par Aramil ]
J'explique, j'ai un seul bouton sur mon formulaire.Quand je clique dessus, il lance un For... Next, et il se renomme(btn_1.text) en "Stop".Je veux que
Petite validation VB [ par acer2000 ]
Bonjour,Dans une form j'ai un champs text et un bouton command. Je voudrais que mon bouton command devienne Enabled que lorsque j'ai tapé 4 chiffres d
ADO et ACCES "Pobleme avec de Soit disan doublon" [ par developvbdebut ]
Bonjour tout le mondeVoilà mon problème, lors du secon enregistrement vb me sort qu'il ne ajouter les données car il risque d'avoir des doublons, pour
Probleme de recordset ??? [ par JeffC1977 ]
Salut... Je suis avec VB? ADO et ACCESS J'aimerais savoir pourquoi j'ai ce bug.... J'ai 11 textebox pour afficher l'info de ma BD. Quand je fais un
pb avec input type="file" [ par loyousse ]
Salut tout le monde!! je vous écris car j'ai un probleme, j'ai créé dans un formulaire une zone destinée à recevoir un fichier avec un bouton parcouri
Livres en rapport
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|