Clic multiples d'un button

Signaler
Messages postés
144
Date d'inscription
dimanche 24 avril 2011
Statut
Membre
Dernière intervention
16 juin 2016
-
Messages postés
15412
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 janvier 2021
-
Bonjour,
j'ai un button un textbox et 3 labels ce que je veux faire c'est quand je clic sur mon button :

- 1er clic :
Label1.Text = TextBox1.Text
je vide mon TextBox1: TextBox1.Clear()

- 2ème Clic je saisie d'autres informations dans mon TextBox :
Label2.Text = TextBox1.Text
je vide mon TextBox1: TextBox1.Clear()

- 3ème Clic je saisie d'autres informations dans mon TextBox :
Label3.Text = TextBox1.Text
je vide mon TextBox1: TextBox1.Clear()

merci pour votre aide

8 réponses

Messages postés
15412
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 janvier 2021
503
Bonjour tu crées une liste de textbox, à chaque click tu incrémentes un index, et tu vides le textbox de la liste avec le dit index
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
233
Bonjour,
Hé bien : ===>>>
Utilise donc une variable (appelons-la toto) déclarée générale (en déclaration générale du module de code) ou statique (au sein de la procédure click).
Incrémente-la de une unité à chaque click
Et agis en fonction de la valeur de toto au sein de la procédure click
Et remets toto à 0 en fin de procédure lorsque toto = 3
Tout cela est on ne peut plus "enfantin" !
Messages postés
15412
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 janvier 2021
503
Bonjour UC, rien à ajouter.
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Salut

ton myVar sera toujours égale à 1
Tu dois le déclare comme
Static myvar As Integer = 0
comme a dit
Ucfoutus que je salue
Messages postés
144
Date d'inscription
dimanche 24 avril 2011
Statut
Membre
Dernière intervention
16 juin 2016

bonjour,
mais comment formaliser votre idée par code?

Messages postés
144
Date d'inscription
dimanche 24 avril 2011
Statut
Membre
Dernière intervention
16 juin 2016

bonjour,
voilè ce que j'ai mis comme code :
Dim myVar As Integer = 0
myVar = myVar + 1
If ComboParente.Text = "Enfant" Then
If (myVar = 1) Then
Label1.Text = Me.TextBox1.Text
TextBox1.Clear()

ElseIf (myVar = 2) Then
Label2.Text = Me.TextBox1.Text
TextBox1.Clear()
ElseIf (myVar = 3) Then
Label3.Text = Me.TextBox1.Text
TextBox1.Clear()
End If
End If

Résultat : le Label1 qui est rempli à chaque clic pas les autre Labels.
Messages postés
15412
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 janvier 2021
503
Déjà je t'ai proposé de faire une List(Of TextBox), parce que là t'en as 3 c'est gérable avec des if (quoique ce serait plus propre avec un sélect case), mais si tu évolues à 5, 10, 20 ça va vite devenir le bazar.

Ensuit tu dimensionnes myVar (qui est un nom vachement explicite pour quand dans 1 an tu auras une motif à faire) à chaque click de bouton, donc forcément, il vaut toujours 0....

Il faut dimensionner ta variable au niveau de la classe, ou en statique comme l'ont dit Uc et Shayw

    Dim monIndex As Integer = 0'variables dimensionnées au niveau de la classe
    Dim mesTextBoxs As List(Of TextBox)'dans le New tu y mets tes textbox

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        mesTextBoxs(monIndex).Clear()'utilisation de la liste quand même plus simple

        monIndex = monIndex + 1
        If (monIndex >= mesTextBoxs.Count) Then
            monIndex = 0
        End If

    End Sub

Messages postés
15412
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 janvier 2021
503
Public Class Form1

    Dim monIndex As Integer = 0
    Dim mesTextBoxs As List(Of TextBox) = New List(Of TextBox)

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        mesTextBoxs.Add(TextBox1)
        mesTextBoxs.Add(TextBox2)
        mesTextBoxs.Add(TextBox3)
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        mesTextBoxs(monIndex).Clear()

        monIndex = monIndex + 1
        If (monIndex >= mesTextBoxs.Count) Then
            monIndex = 0
        End If

    End Sub
End Class
Messages postés
144
Date d'inscription
dimanche 24 avril 2011
Statut
Membre
Dernière intervention
16 juin 2016

Bonjour,
ça marche impec, je vous remercie beaucoup.
Messages postés
15412
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 janvier 2021
503
Tu n'as plus qu'à mettre le sujet résolue et essayer de chercher un peu par toi même à l'avenir.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
233
galaxy2009 a distribué des + 1 ...
Et a oublié Whismeril, dont la solution était pourtant plus "étendue" !
Messages postés
15412
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 janvier 2021
503
Si si, il m'en a mis un sur le principe...