knuefi
Goto Top

TextBox min. Anzahl Zeichen

Ich hoffe ich bekomme wie schon oft hier Hilfe.
Ich bin auf der Suche, wie ich eine mindest Zeichen Länge in einer textBox vorgeben kann. Ich finde etliche Beispiele mit max. Zeichen Länge aber leider kein Beispiel von mindest Zeichen Länge.

Beim Versuch:

textBox.Text.Length < 10 kommt die MessageBox bei jeder Eingabe eine Zeichen bis die Anzahl stimmt face-sad

Gruß

Content-Key: 494175

Url: https://administrator.de/contentid/494175

Printed on: April 19, 2024 at 07:04 o'clock

Mitglied: 140913
Solution 140913 Sep 12, 2019, updated at Sep 13, 2019 at 10:36:05 (UTC)
Goto Top
textBox.Text.Length < 10 kommt die MessageBox bei jeder Eingabe eine Zeichen bis die Anzahl stimmt

Falsches Event benutzt
https://www.homeandlearn.co.uk/csharp/csharp_s9p4.html
Oder noch besser gleich das genau dafür vorgesehene Event "Validating" benutzen
http://csharphelper.com/blog/2016/02/use-the-validating-event-in-c/

using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1 {
    public partial class Form1 : Form {
        private ErrorProvider errProvider;

        public Form1() {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e) {
            if (errProvider.GetError(textBox1) != "") {  
                MessageBox.Show("Die Bedingungen für die Textbox wurden nicht erfüllt.","Fehler",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);  
                return;
            } else {
                MessageBox.Show("Alles i.O.", "Ergebnis", MessageBoxButtons.OK, MessageBoxIcon.Information);  
            }
        }

        private void textBox1_Validated(object sender, EventArgs e) {
            if (textBox1.TextLength < 10) {
                errProvider.SetError(textBox1, "Die Länge muss mindestens 10 Zeichen betragen!");  
            } else {
                errProvider.Clear();
            }
        }

        private void Form1_Load(object sender, EventArgs e) {
            errProvider = new ErrorProvider();
        }
    }
}
Member: SeaStorm
Solution SeaStorm Sep 12, 2019 updated at 20:12:36 (UTC)
Goto Top
Hi

da wir deinen Code nicht haben ...
Und von was für einem Projekt reden wir hier? C#? ASP.Net, Forms, MVC ?

Aber warum machst du es nicht wie jeder andere auch und machst die Schrift einfach rot, wenn die Anzahl nicht stimmt und deaktivierst so lange das "absenden" der Form, bis es passt? Niemand mag Popups. Messageboxen gehören in den Restmüll

Ansonsten gibts aber auch ordentliche Validator Models. z.B https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/int ...
oder
https://www.codeproject.com/articles/2608/c-validating-textbox-control
Member: emeriks
emeriks Sep 13, 2019 at 06:34:16 (UTC)
Goto Top
Zitat von @SeaStorm:
Niemand mag Popups. Messageboxen gehören in den Restmüll
Unsinn
Mitglied: 140913
140913 Sep 16, 2019 updated at 07:12:16 (UTC)
Goto Top
Wenn's das dann war bitte das Abschließen nicht vergessen.
Member: Knuefi
Knuefi Sep 20, 2019 at 18:56:39 (UTC)
Goto Top
Danke für die Hilfe, es hat geklappt. Eine schöne Lösung!