none
textbox sur vb2010 RRS feed

  • Question

  • bonsoir

     voilà mon problème sur un form j'ai trois textbox je voudrais qu'une fois le premier rempli 3 caractères numérique le curseur passe automatiquement au suivant qui peut venir à mon secours un grand merci d'avance

    mercredi 13 mai 2015 21:50

Réponses

  • Bonjour,

    Pourquoi vous utiliser pas un MaskedTextBox ?

    voici en image comment faire :

    cordialement,

    zorro591,

    Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci

    • Marqué comme réponse SIMONGEORGES vendredi 15 mai 2015 12:02
    vendredi 15 mai 2015 11:03

Toutes les réponses

  • Bonjour,

    Définir la propriété du textbox "MaximumSize" à 3

    Ensuite le code ci-dessous :

     Private Sub txt1_TextChanged(sender As Object, e As System.EventArgsHandles txt1.TextChanged
            If txt1.TextLength = 3 Then
                txt2.Focus()
            End If
        End Sub

    Faire la même chose pour les contrôles suivants.


    Jacques
    Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci

    mercredi 13 mai 2015 23:42
  •  excusez j"ai fa
    jeudi 14 mai 2015 08:24
  • excusez j'ai fait une erreur de frappe

    cela serait  il possible de le faire pour des valeurs comprises entre 1 et 4  pour cela il faudrait que cela se réalise à la fin de la saisie  des valeur d'un textbox

    merci encore et excusez mes erreurs de clavier

    jeudi 14 mai 2015 08:26
  • Bonjour,

    Utilisez l'évènement KeyUp et filtrez les  frappes, par exemple:

    Exécutez le traitement uniquement lorsque l'opérateur aura taper la touche Entrée.

    C'est en C# mais vous pouvez transcrire en VB ça marche pareil...

    public partial class Form1 : Form
    {        
       ErrorProvider m_Erreur;

       public Form1()
       {
          InitializeComponent();
          m_Erreur = new ErrorProvider();
       }

       private void textBox1_KeyUp(object sender, KeyEventArgs e)
       {
          if (e.KeyCode != Keys.Enter)
             return;

         TextBox l_Tbox = (TextBox) sender;
         try
         {
            int l_Valeur = Convert.ToInt32(l_Tbox.Text);

            if ((l_Valeur < 1) || (l_Valeur > 4))
               throw (new ApplicationException("La valeur doit être comprise entre 1 et 4."));
                    
              //Traitement..  
             m_Param1 = l_Valeur;
             m_Erreur.Clear();                
        }
        catch (Exception ex)
       {
           m_Erreur.SetError(l_Tbox, ex.Message);
           m_Erreur.SetIconAlignment(l_Tbox, ErrorIconAlignment.MiddleLeft);
       }
     }

    Mais en même temps votre question n'est pas claire. Vous voulez 3 caractères pour un nombre compris entre 1 et 4 ou un nombre composé de 3 chiffres de 1 à 4.

    Cordialement
    Gérard




    • Modifié GP79 jeudi 14 mai 2015 09:30
    • Proposé comme réponse GP79 jeudi 14 mai 2015 09:31
    jeudi 14 mai 2015 09:20
  • Bonjour,

    Vous avez une solution plus simple  pour limiter des nombres dans un textbox1.text

    Voici la solution:

    Private Sub TextBox1_KeyPress(sender As System.Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
            If (e.KeyChar < "1" Or e.KeyChar > "4") Then
                MsgBox("Veuillez taper des chiffres entre 1 à 4", MsgBoxStyle.Information, "Chiffre")
                e.Handled = True
            End If

    Cordialement,

    jeudi 14 mai 2015 09:37
  • merci beaucoup cela fonctionne bien par contre dans le cas où je dois rentrer des nombres comme 0.004 comment faire?
    jeudi 14 mai 2015 11:34
  • Bonjour,

    Pourquoi vous utiliser pas un MaskedTextBox ?

    voici en image comment faire :

    cordialement,

    zorro591,

    Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci

    • Marqué comme réponse SIMONGEORGES vendredi 15 mai 2015 12:02
    vendredi 15 mai 2015 11:03