begin process at 2010 02 10 02:40:38
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

VB.NET

 > CONTROLE DE SAISIE TEXTBOX SOUS VISUAL STUDIO EXPRESS 2005

CONTROLE DE SAISIE TEXTBOX SOUS VISUAL STUDIO EXPRESS 2005


 Information sur la source

Note :
9,5 / 10 - par 2 personnes
9,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :VB.NET Source .NET ( DotNet ) Classé sous :contrôle, saisie, textbox Niveau :Débutant Date de création :05/07/2006 Date de mise à jour :04/10/2006 08:15:15 Vu :13 085

Auteur : Thomeux

Ecrire un message privé
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

Ce code permet de controler le contenu de la textbox selon les choix:
      que numerique(virgule ou pas, positif ou pas)
      que caractère alphabetique
      mixte des deux

Source

  • 'A mettre dans le code de la form ou se trouve votre textbox
  • Private Sub TextBox1OnKeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
  • Controle_saisie.Textbox_control(sender, e, True, True, False, False)
  • ' | | | |_ si True: Caractère alphabet autorisé
  • ' | | |
  • ' | | |_si True:Nombre positif uniquement
  • ' | |
  • ' | |_ si True: Nombre entier uniquement
  • ' |
  • ' |_si true: Nombre autorisé
  • End Sub
  • 'a mettre dans un module appelé "Controle_saisie"
  • Public Sub Textbox_control(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs, ByVal Nombre As Boolean, ByVal Est_entier As Boolean, ByVal Est_positif As Boolean, ByVal Alphabet As Boolean)
  • Select Case e.KeyChar
  • Case "1" To "9"
  • If Nombre = False Then e.Handled = True
  • Case "a" To "z"
  • If Alphabet = False Then e.Handled = True
  • Case ".", ","
  • If Est_entier = False Then
  • e.Handled = True
  • Else
  • e.KeyChar = ","
  • End If
  • Case "-"
  • If Est_positif = True Then
  • e.Handled = True
  • Else
  • 'enlever le moins précedent
  • End If
  • Case Else
  • If (Char.IsControl(e.KeyChar)) Then
  • e.Handled = False
  • Else
  • e.Handled = True
  • End If
  • End Select
  • End Sub
'A mettre dans le code de la form ou se trouve votre textbox  

  Private Sub TextBox1OnKeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
        Controle_saisie.Textbox_control(sender, e, True, True, False, False)
        '                                            |     |       |   |_ si True: Caractère alphabet autorisé
        '                                            |     |       |
        '                                            |     |       |_si True:Nombre positif uniquement
        '                                            |     |
        '                                            |     |_ si True: Nombre entier uniquement
        '                                            |
        '                                            |_si true: Nombre autorisé

    End Sub
'a mettre dans un module appelé "Controle_saisie"

    Public Sub Textbox_control(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs, ByVal Nombre As Boolean, ByVal Est_entier As Boolean, ByVal Est_positif As Boolean, ByVal Alphabet As Boolean)
        Select Case e.KeyChar
            Case "1" To "9"
                If Nombre = False Then e.Handled = True
            Case "a" To "z"
                If Alphabet = False Then e.Handled = True
            Case ".", ","
                If Est_entier = False Then
                    e.Handled = True
                Else
                    e.KeyChar = ","
                End If
            Case "-"
                If Est_positif = True Then
                    e.Handled = True
                Else
                    'enlever le moins précedent
                End If
            Case Else
                If (Char.IsControl(e.KeyChar)) Then
                    e.Handled = False
                Else
                    e.Handled = True
                End If
        End Select

    End Sub



 Historique

05 juillet 2006 09:54:28 :
La mise à jours prend en compte les touches de cotrole(enter, backspace...)
04 octobre 2006 08:15:15 :
Ma mise a jours permet de savoir où placer les deux fonctions (une dans un module appelé "Controle_saisie", l'autre dans le code de la form ou se trouve la textbox). Cette mise à jours fait suite à des questions que certaines personnes m'ont posées.

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) INSERER TOUT TYPE DE FICHIERS DANS ORACLE EN VB.NET par SKY32
Source avec Zip Source avec une capture Source .NET (Dotnet) ENVOYER DES EMAILS AVEC PIECES JOINTES EN EXÉCUTANT BLAT par mays
Source avec Zip Source avec une capture Source .NET (Dotnet) PILOTER DES AFFICHEURS 7 SEGMENTS À PARTIR DU PORT SÉRIE OU ... par mays
Source avec Zip Source avec une capture Source .NET (Dotnet) CONTROLER LE WEBBROWSER ET IDENTIFIER LES LIENS PAR LEUR NUM... par george02
Source avec Zip Source .NET (Dotnet) LOGIN AVEC FICHIER XML par DanMor498

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) COMPILATEUR EN VB NET 2003 par alpha5
Source avec Zip Source avec une capture TEXTBOX EVOLUTION par bouv
Source .NET (Dotnet) LIMITER LA SAISIE À CERTAINS CARACTÈRES/TOUCHES DANS UN TEXT... par hvb
VALIDATION DE SAISIE POUR TEXTBOX par Patrice
EMPECHER LA SAISIE DANS UNE TEXTBOX par pepito

Commentaires et avis

Commentaire de Jean_Elens le 09/10/2006 20:44:48

Je commence en VB.NET et ne comprend pas bien ton bout de code... Probablement une confusion quelque part...Qu'est
Controle_saisie.Textbox_control ??

Commentaire de timotep le 27/03/2007 16:38:04

Merci beaucoup pour ton code! Enfin un moyen simple de contrôler la saisie de caractères, que ce soit du numérique ou des caractères. Ca m'a bien servi, et ce code est simple à employer (je suis débutant en vb.net)

Commentaire de greg38bj le 14/12/2007 13:51:40 9/10

salut
tres bon code, j'y ai juste rajouté les majuscules:

Public Sub Textbox_control(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs, ByVal Nombre As Boolean, ByVal Est_entier As Boolean, ByVal Est_positif As Boolean, ByVal Alphabet As Boolean, ByVal Maj As Boolean)

Case "A" To "Z"
If Maj = False Then e.Handled = True

et modifié les chiffres (le zéro peut être utile) :

Case "0" To "9"
If Nombre = False Then e.Handled = True

Commentaire de LunaPurple le 23/08/2008 00:48:59

Salut,
Merci à Thomeux et Greg38BJ pour leurs codes qui m'ont beaucoup aidé.

Pour ceux qui préfèrent, le voici transformé en 'fonction', avec une petite correction au niveau du Case Entier (mettre à True au lieu de False pour interdir la saisie du point ou de la virgule).

Cette sub est à mettre dans le code du formulaire (en Private sub), ou bien dans un module (en Public Sub), selon l'utilisation que vous en ferez (dans un seul Form ou bien dans plusieurs).
Le fait de faire une Public Sub permet d'ajouter ce code dans un module déjà existant, et de ne pas avoir à créer un module Contrôle_Saisie spécifique (ce qui était mon cas, et je n'arrivais pas à récupérer le .Textbox_control de Controle_Saisie dans le code du KeyPress... Sûrement un truc que j'avais mal fait...? Mais avec la fonction, ça marche).

Voici la 'fonction' : (à mettre dans votre module ou le code du form)

    Public Sub ControleSaisie(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs, ByVal Nombre As Boolean, ByVal Est_entier As Boolean, ByVal Est_positif As Boolean, ByVal Alphabet As Boolean, ByVal Maj As Boolean)
        Select Case e.KeyChar
            Case "0" To "9"
                If Nombre = False Then e.Handled = True
                'If CInt(sender) > 999 Then e.Handled = True
            Case "a" To "z"
                If Alphabet = False Then e.Handled = True
            Case "A" To "Z"
                If Maj = False Then e.Handled = True
            Case ".", ","
                If Est_entier = True Then
                    e.Handled = True
                Else
                    e.KeyChar = ","
                End If
            Case "-"
                If Est_positif = True Then
                    e.Handled = True
                Else
                    'enlever le moins précedent
                End If
            Case Else
                If (Char.IsControl(e.KeyChar)) Then
                    e.Handled = False
                Else
                    e.Handled = True
                End If
        End Select
    End Sub


Et voici le code appelant, dans l'event KeyPress du contrôle textbox dans lequel vous voulez contrôler la saisie.

    Private Sub txtbx_ForfMontant_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtbx_ForfMontant.KeyPress
        'contrôle que ce sont bien des Euros inférieurs à 999 ¤ qui sont saisis dans le champ
        ControleSaisie(sender, e, True, True, True, False, False)
        Dim val As String
        val = txtbx_ForfMontant.Text
        If val <> "" And e.KeyChar <> Chr(8) Then
            If Convert.ToInt16(val) > 99 Then MessageBox.Show("Etes-vous sûr du montant saisi ?")
        End If
        If e.KeyChar = Chr(8) Then e.Handled = False 'pour permettre la suppression des chiffres en trop ou la correction du nombre saisi
    End Sub

Pour finir, je dis 'fonction", mais, comme elle ne renvoit pas directement de valeur, en fait, ce n'en est pas vraiment une... C'est pourquoi elle s'appelle Public Sub, et pas Public Function.

Vous l'aurez compris, ce code et ces explications s'adressent à des débutants (comme moi)...

Commentaire de Sebastius le 13/01/2010 11:58:12 10/10

Après avoir chercher pas mal de temps, je suis ravi d'avoir pu trouver un code simple est fonctionnel pour visual studio 2008 !

Merci beaucoup de nous avoir fait partager ce code !

Commentaire de Thomeux le 14/01/2010 17:14:56

De rien çà sert à cela l'entraide

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

TextBox [ par flyman ] Dans un textbox je veux saisir la valeurd'un champ (par exemple: 15564205113). J'aimerai pouvoir attribuer un mask àmon textbox de façon que la saisie pb saisie de texte dans textbox [ par footyak ] bonjour, j'ai un pb: lorsque je saisis la valeur numérique d'un résultat et qu'il ya une virgule , le prog ne prend que la première valeur avant la vi avoir le contrôle activex [ par HARBAT ] j'ai besoin d'avoir un contrôle activeX composé d'une ligne de saisie et d'une liste (exemple:listeview)qui sont les deux attachés. autrement dit une Compter le nb de caractères dans un textbox [ par thomrico ] Bonjour,Je souhaiterais créer une textbox ou un label qui compte le nombre de caractère saisie dans une autre textbox, ceci afin de contrôler la longu Probleme de saisie dans les textbox [ par flipote ] bonjour,Mon probleme est le suivant:Lorsque l'on doit remplir une textbox je voudrai avoir le code pour qu'avant que s'effectue un calcul et dc un aff Contrôle de la touche tab [ par Berduche ] Salut,je souhaiterai savoir comment je peut faire pour contrôler la touche tab sur une feuille.Exemple:J'ai 2 TextBox, le curseur se trouve dans text1 DBGrid + Data?... [ par jia2812 ] Walla, slt les progs'!!!!! Sur ma Form, j'ai: 1 contrôle Data, 1 DBGrid & 1 textbox, ces 2 derniers sont liés au contrôle Data[lié à la Table_Diplôme saisie d'un entier dans une Textbox sous le formt 2.33 et non 2,33 [ par musclorbobo ] Je suis 1 débutant sous VB.Je suis en train de faire un convertisseur Franc/Euro.Lorsque je tape dans ma textbox un nombre sous la forme 9.99999 (avec Comment empêcher la saisie dans la textbox d'une feuille de dialogue? [ par Didine ] Bonjour,Je dois modifier en catastrophe un programme VB et n'ayant aucune formation au langage objet j'avoue que je ne trouve pas comment empêcher l'u


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales