IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Max length / TextBox


Sujet :

C#

  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 23
    Par défaut Max length / TextBox
    Bonjour tout le monde :
    Je voudrai savoir comment faire pour limiter le nombre de caractères dans un textBox.
    J'ai essayée bcp de methode mais j arrivée pas =(
    Merci pour votre aide

  2. #2
    Membre émérite
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Par défaut
    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextBox1.MaxLength = 10

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 23
    Par défaut
    Je pense pas que ca va marcher , car il faut peut etre convertir un char en entier

  4. #4
    Membre émérite
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Par défaut
    , quel char ?

    La propriété 'MaxLength' permet de définir le nombre de caractère maximum de ta textbox, et c'est un entier...ou alors j'ai pas pigé ton problème.

  5. #5
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    jackasse aurait pu écrire : "Tout est dans le titre ... même la réponse" ^^

  6. #6
    Membre averti
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 23
    Par défaut
    bn alors je t'explique ; je dois gerer une partie d'ajout de machine et enregistrer ts ca sur ma base de données , pour cela il faut passer par un petit programme creer sous c -sharp , ce dernier doit etre composé de 4 champ de saisie TextBox( Ip , Num , Nom , Emplacement)
    donc voila , ce que je voudrai bien faire c'est limiter la saisie dans mon 1er textBox d'une facon que lorsqu 'un utilisateurs rentre une adress Ip sous la forme de 172.145.122.12 ( c une fausse adress) , un message box apparait ( votre adress Ip dois comporter 20 saisie max) j'esper que j'ai ete assez clair cette fois

  7. #7
    Membre émérite
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Par défaut
    Citation Envoyé par jopopmk Voir le message
    jackasse aurait pu écrire : "Tout est dans le titre ... même la réponse" ^^


    Jackass, j'ai pigé. Donc là, tu as deux solutions...soit tu fais comme je te l'ai dit plus haut et l'utilisateur ne pourra taper plus de 20 caractère (il faut bien sur que tu mette la valeur de MaxLength à 20), soit tu teste la taille du texte saisit sur l'événement onTextChanged de ton textBox et tu fais un retour utilisateur si la taille dépasse 20 caractère...

    J'espère avoir été clair.

  8. #8
    Membre averti
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 23
    Par défaut
    Oui j'ai fai ca , et j'ai une err :
    Impossible de convertir le type int en bool

  9. #9
    Membre émérite
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Par défaut
    Fais voir ton code stp.

  10. #10
    Membre averti
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 23
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Data.SqlClient;
    using System.Data.Common;
     
     
     
     
    namespace Projets_Machine_2011
    {
        public partial class Ajt_machines : Form
        {
     
     
     
     
     
     
     
            //=================================================================================================================================================================
            DataSet ds = new DataSet(); // creation d'un data set  permettant de s'agit d'un composant très générique permettant de représenter les données sous forme de table. 
            // ================================================================================================================================================================
            SqlConnection conn = new SqlConnection("Data source=T129-P7; Initial Catalog=gestion_projet_2011; Integrated Security = True");  // Creation d'une connexion a la base de donnéés
     
            //==========================================================================================//
            // conn.Open();                                                                             //
            //  MessageBox.Show(conn.State.ToString());                                                 //
            //   conn.Close();                                                                          //
            //==========================================================================================//
            //===================================================================================================================================================================================================================================================================
            SqlDataAdapter commande = new SqlDataAdapter(); //  Représente un ensemble de commandes de données et une connexion de base de données qui sont utilisés pour remplir DataSet et mettre à jour une base de données SQL Server. Cette classe ne peut pas être héritée. 
            //===================================================================================================================================================================================================================================================================
     
     
            BindingSource BS = new BindingSource();
     
     
     
     
            public Ajt_machines()
            {
                InitializeComponent();
            }
     
            private void Form6_Load(object sender, EventArgs e)
            {
     
            }
     
            private void pictureBox1_Click(object sender, EventArgs e)
            {
                commande.SelectCommand = new SqlCommand("select * from Machines", conn);
     
                ds.Clear();
     
                commande.Fill(ds);
     
                dataGrid.DataSource = ds.Tables[0];
     
                BS.DataSource = ds.Tables[0];
     
                textBox1.DataBindings.Add(new Binding("text", BS, "IP"));
                textBox2.DataBindings.Add(new Binding("text", BS, "Num"));
                textBox3.DataBindings.Add(new Binding("text", BS, "Nom"));
                textBox4.DataBindings.Add(new Binding("text", BS, "Emplacement"));
     
                enregistrement();
            }
     
            private void dataGrid_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {
     
            }
            private void DatagridUpdate()
            {
     
                dataGrid.ClearSelection();
                dataGrid.Rows[BS.Position].Selected = true;
                enregistrement();
     
            }
     
            private void enregistrement()
            {
                Enregisrtrement.Text = " Enregistrement " + BS.Position + " sur " + (BS.Count - 1);
        }
     
            private void btn_ajt_Click(object sender, EventArgs e)
            {
                if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "")
                {
     
                    MessageBox.Show("Vous devez remplir les champs IP , num et Emplacement pour valider le formulaire", "Saisie incomplète", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
     
                }
                else
                {
     
                    try
                    {
                        int entier = int.Parse(textBox1.Text);
     
                    }
                    catch (FormatException ex) // format invalide
                    {
                        MessageBox.Show("L'adress Ip et le numero doivent etre  sous la Forme d'entier pas de caractére ===> ex : Ip :192.168.1.0  || N° : 12!!!");
                    }
                }

  11. #11
    Membre averti
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 23
    Par défaut
    bon voila mon code est ce que quelqu'un pourrait m'indiquer ou je dois mettre mon exception pour gerer la saisie dans le TexBox1

  12. #12
    Membre émérite
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Par défaut
    Ca fait plaisir de voir que ce que l'on dit est pris en compte...
    Tu n'utilises le MaxLength nul part.

    Bref, de toute façon si l'utilisateur rentre un truc du genre "127.0.0.1" (ce qui me semble être ton désir d'après ton message d'erreur), le int.Parse ne marchera jamais puisque c'est une chaine de caractère et doit être interprété comme telle.
    Si tu veux tester la validité de l'adresse IP, il faudra utiliser des Regex.

  13. #13
    Membre averti
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 23
    Par défaut
    Ben non je l'ai supprimé parce que ca marche pas c'est tout

  14. #14
    Membre averti
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 23
    Par défaut
    ok merci en tout cas merci pour l'aide

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 92
    Par défaut
    Si ça peut t'aider, pour la vérification de l'IP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    string message = "";
    string ip = textBox1.Text;
    if (!Regex.IsMatch(ip, "^\\d{1,3}[.]\\d{1,3}[.]\\d{1,3}[.]\\d{1,3}$")
        ||
        ip.Split(new char[] { '.' })
          .Select(s => int.Parse(s))
          .Where(i => i > 255 || i == 0)
          .Count() > 0
        )
    {
        message += "\n- Format de l'ip incorrect.";
    }
    Suivi de la vérification du numéro et l'affichage de l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    int num;
    if (int.TryParse(textBox2.Text, out num))
    {
        message += "\n- Format du numéro incorrect.";
    }
     
    if (message.Length > 0)
    {
        MessageBox.Show("Erreur :" + message);
    }

  16. #16
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 201
    Par défaut
    Pour valider une IP, il n'y a pas moyen de faire plus simple avec un IPAddress.TryParse ?

    J'ai peut-être le tord de trop faire confiance à .Net

    Concernant le vif du sujet, il existe une propriété MaxLength sur la classe TextBox

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 92
    Par défaut
    Citation Envoyé par DarkHerumor Voir le message
    Pour valider une IP, il n'y a pas moyen de faire plus simple avec un IPAddress.TryParse ?
    Merci beaucoup DarkHerumor !!! Je ne connaissais pas cette classe ! Effectivement cela simplifie énormément le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    string message = "";
    IPAddress ip;
    int num;
     
    if (IPAddress.TryParse(textBox1.Text, out ip))
    {
        message += "\n- Format de l'ip incorrect.";
    }
    if (int.TryParse(textBox2.Text, out num))
    {
        message += "\n- Format du numéro incorrect.";
    }
    if (message.Length > 0)
    {
        MessageBox.Show("Erreur :" + message);
    }

  18. #18
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    L'intérêt c'est qu'en plus ça gère les IPv6

  19. #19
    Membre averti
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 23
    Par défaut
    Bonjour tout le monde

    Gat est ce que tu peux m'expliquée a quoi sa sert la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if (!Regex.IsMatch(ip, "^\\d{1,3}[.]\\d{1,3}[.]\\d{1,3}[.]\\d{1,3}$")

  20. #20
    Membre averti
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 23
    Par défaut
    C'est bon merci tout le monde je pense que j'ai résolue mon problème

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] form recordsource max length
    Par mapmip dans le forum IHM
    Réponses: 2
    Dernier message: 01/03/2012, 11h38
  2. Réponses: 11
    Dernier message: 23/11/2011, 18h18
  3. Max Length des champs sous SQL server
    Par snach dans le forum Développement
    Réponses: 6
    Dernier message: 25/03/2009, 16h42
  4. augmenter max key length ?
    Par ctobini dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 14/11/2007, 13h31
  5. [C++.NET] Valeurs min/max dans une TextBox
    Par raboin dans le forum VC++ .NET
    Réponses: 4
    Dernier message: 06/04/2006, 17h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo