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-ID: 494175

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

Ausgedruckt am: 04.11.2024 um 22:11 Uhr

140913
Lösung 140913 12.09.2019, aktualisiert am 13.09.2019 um 12:36:05 Uhr
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();
        }
    }
}
SeaStorm
Lösung SeaStorm 12.09.2019 aktualisiert um 22:12:36 Uhr
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
emeriks
emeriks 13.09.2019 um 08:34:16 Uhr
Goto Top
Zitat von @SeaStorm:
Niemand mag Popups. Messageboxen gehören in den Restmüll
Unsinn
140913
140913 16.09.2019 aktualisiert um 09:12:16 Uhr
Goto Top
Wenn's das dann war bitte das Abschließen nicht vergessen.
Knuefi
Knuefi 20.09.2019 um 20:56:39 Uhr
Goto Top
Danke für die Hilfe, es hat geklappt. Eine schöne Lösung!