Je suis un débutant sur Microsoft visual basic, j'y connais rien et je bloque dans la création d'un projet.
J'ai une trackbar et une textbox, le texte de la textbox change en fonction de la valeur de la trackbar.
Et je voudrais le contraire aussi, que la valeur de la trackbar change en fonction de la textbox.
L'erreur vient là, si on saisis dan la textbox autre chose que la valeur min et max de la trackbar tout bug.
En cherchant sur ce site j'ai trouver ces code :
J'ai supprimer le clavier alphabétique avec ce code :
If IsNumeric(e.KeyChar) False Then e.Handled True
Le problème c'est que l'on ne peut plus utiliser la touche DEL
Alors j'ai essayé cet autre code :
If InStr("1234567890", (e.KeyChar)) = 0 Then
e.Handled = True
Else : e.Handled = False
End If
Le problème cette fois c'est que je ne sais pas comment autoriser la touche DEL
Sinon pour une valeur min et max à saisir dans la textbox j'ai trouver ce code :
Dim val As Integer = Convert.ToInt32(TextBox2.Text)
If (val < 1) Or (val > 2000) Then Exit Sub
Mais j'ai un autre problème si l'on supprime tout dans la textbox (que l'on met le champ vide)ça bug aussi étant donner que la trackbar ne sais plus quoi faire
Merci de lire et à ceux qui m'aideront,
Voici tout le code, si ça peut aider :
Public Class Form1
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
TextBox1.Clear()
TextBox1.Focus()
End Sub
Private Sub TrackBar1_Scroll(sender As System.Object, e As System.EventArgs) Handles TrackBar1.Scroll
If TrackBar1.Value = 0 Then
TextBox2.Text = "1"
Else
TextBox2.Text = TrackBar1.Value
End If
End Sub
Private Sub TextBox2_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
If IsNumeric(e.KeyChar) False Then e.Handled True
End Sub
Private Sub TextBox2_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox2.TextChanged
Dim val As Integer = Convert.ToInt32(TextBox2.Text)
If (val < 1) Or (val > 2000) Then Exit Sub
TrackBar1.Value = TextBox2.Text
End Sub
End Class
Désolé du double poste mais j'ai pas trouvé le bouton "Éditer"
C'est juste pour dire que j'ai résolu ce problème :
Mais j'ai un autre problème si l'on supprime tout dans la textbox (que l'on met le champ vide)ça bug aussi étant donner que la trackbar ne sais plus quoi faire
J'avais juste à réfléchir un peu pour penser à ce code
Private Sub TextBox2_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox2.TextChanged
If TextBox2.Text = "" Then
TrackBar1.Value = 1
TextBox2.Text = "1"
End If
Je suis bête de pas y avoir pensé avant c'est tout simple en plus !