Clic bouton afficher des textes différents

Résolu/Fermé
foan - 20 juin 2011 à 01:05
 foan - 24 juin 2011 à 20:33
Bonjour,

Je suis encore novice à Visual Basic 2010 mais j'essaie de créer un programme.

J'ai un bouton, et une zone de texte. j'aimerais avoir la fonction suivante,

1er clic
afficher texte 1

2eme clic
afficher texte 2
cacher texte 1

3eme clic
afficher texte 3
cacher texte 2

etc

mais comment ? J'ai cherché sur google pendant des heures mais je n'ai rien trouvé, je suis vraiment desespéré à 200% s'il vout plait aidez-moi...

Si possible quel est le code?



1 réponse

Popoï_ Messages postés 171 Date d'inscription mardi 21 juin 2011 Statut Membre Dernière intervention 8 mars 2019 75
Modifié par Popoï_ le 23/06/2011 à 09:51
C'est très simple.
Imaginons que tes textes doivent s'afficher dans une même textbox qui s'appellera textbox1
Tu vas sur l'onglet "Form1[design]", tu double-cliques sur le bouton de ta form (que tu as déjà créé j'imagine), tu te retrouves de nouveau sur le code, mais avec quelque part un truc qui ressemble à:

Private Sub button1_click (by val sender blablabla) button1.click


End Sub

C'est l'événement du bouton_click (c'est à dire ce qu'il doit se passer lorsque tu cliques sur button1): c'est là que l'on va taper la quasi-totalité de ton code. Mais d'abord, remonte tout en haut de ton code, en dessous de "public class form1" pour taper ceci:

Dim switchtext As Integer = 0

C'est une déclaration de variable, et comme tu l'as placé en dessous de public class, tu vas pouvoir l'utiliser dans toute la classe (quelque soit l'événement).

Ensuite, retour à tes premiers tutos de VB.net,dans l'événement que nous avons créé, tu tapes ceci:

switchtext += 1
If (switchtext = 1) Then
Textbox1.text = "Mets ici le texte à s'afficher au premier clic"
ElseIf (switchtext = 2) Then
Textbox1.text = "Et ici le texte à s'afficher au second clic"
ElseIf (switchtext = 3) Then
Textbox1.text = "Et ici le texte à s'afficher au troisième clic"
[...]
Et tu continues avec tes ElseIf jusqu'à arriver à ton dernier texte, pour le dernier texte tu tapes:

Else
TextBox1.text = "Le texte du dernier clic"
switchtext = 0
End If

Pour ensuite revenir au premier texte si la personne depasse le nombre de clic prévu...
La deuxième étape consiste à faire en sorte à ce que l'utilisateur ne puise en aucun cas modifier le texte que tu fais apparaître (ce serait dommage ^^)
Là tu as deux méthodes:

Soit tu écris en dessous de "public class" et de "Dim switchtext As Integer = 0" ceci:
TextBox1.ReadOnly = True

Mais ça fait un peu du code à la Conan the Barbarian... donc il y a plus simple
dans l'onglet Form1[design] tu fais un clic simple sur ta textbox et tu regardes en bas à droite de la fenêtre, il y a un tableau: ce sont les propriétés de ton objet. Elles sont toutes classées par ordre alphabétique, tu vas donc à ReadOnly (si tu connais l'aphabet, ça devrait pas être trop difficile :p) et tu lui attribues "true".
Et voilà! Testes en appuyant sur f5.

Mais tu voulais afficher tes textes dans des textbox différentes, t'as plus qu'à changer textbox1.text avec LeNomDeTaTextBox.Text et attribuer à toutes tes textbox le ReadOnly sur True.
0
Merci popo? tu est un vrai dieu

ou tu as appris tout ca???

Je t'envoie le lien de mon appli une fois fini:-)
0
Popoï_ Messages postés 171 Date d'inscription mardi 21 juin 2011 Statut Membre Dernière intervention 8 mars 2019 75
23 juin 2011 à 09:16
ce sont juste les bases du VB.net: j'ai aucun mérite...
une fois qu'on comprend le fonctionnement, ça va vite
0
Popoï_ Messages postés 171 Date d'inscription mardi 21 juin 2011 Statut Membre Dernière intervention 8 mars 2019 75
23 juin 2011 à 09:29
0
Popoï_ Messages postés 171 Date d'inscription mardi 21 juin 2011 Statut Membre Dernière intervention 8 mars 2019 75
24 juin 2011 à 14:34
Alors, comment vont tes débuts en VB.net?
0
Ca va bien, mais c'est difficile!

Merci pour le code, il marche très bien!

PS. je suis en train de travailler sur un autre projet en parallèle:

http://www.youtube.com/watch?v=80v3k0av_iw
0