2016-04-19 4 views
0

Here Ich habe drei Check-Boxen und eine Textbox und ich möchte meiner Anwendung einige Zeichen beibringen, daher muss ich die Zeicheneingabe in Textbox einordnen drei Klassen. Die Textbox sollte nur ein Zeichen enthalten (gelöst), und nach der Zeicheneingabe klassifiziere ich sie, indem ich eines der drei Kontrollkästchen ankreuze. Wenn die Zahl eingegeben wird, überprüfe ich das Kontrollkästchen "DIGIT", wenn ein Buchstabe eingegeben wird (Groß- und Kleinschreibung), überprüfe ich das Kästchen "GROSSBUCHSTABEN", und wenn das Symbol angezeigt wird, markiere ich das Kästchen "AllSymbols". Wenn ich Digit eingeben und das Kontrollkästchen GROß oder ALLESymbole anstelle von "DIGIT" ankreuzen, sollte nach dem Drücken von OK eine Fehlermeldung (gelöst) ausgegeben werden. Ich brauche die gleiche Logik für die beiden anderen Klassen.C# Textbox-Eingabe begrenzen und klassifizieren nach Check-Boxen

public void GetParameters(out string charCode, out int classes) 
{ 
    charCode = textBoxCharCode.Text; 

    try 
    { 
     if (checkBoxDigit.Checked) Convert.ToInt16(textBoxCharCode.Text); 
    } 

    catch 
    { 
     MessageBox.Show("You should enter Digits", "Error", MessageBoxButtons.OK); 
    } 

    if (charCode.Length != 1) MessageBox.Show("You should enter only One character", "Error", MessageBoxButtons.OK); 

    classes = (checkBoxDigit.Checked ? (int)EOCRClass.Digit : 0) | (checkBoxUpperCase.Checked ? (int)EOCRClass.UpperCase : 0) | (checkBoxAllSymbols.Checked ? (int)EOCRClass.LowerCase : 0); 
} 

Irgendwelche Vorschläge?

+0

Ist das einzige Problem "wie überprüft man, ob eine Zeichenfolge nur Groß- oder Kleinbuchstaben enthält?" Oder brauchen Sie auch etwas um die Textboxvalidierung? –

+0

Ich habe meine Frage bearbeitet, bitte überprüfe sie. Ich muss prüfen, ob die Textbox einen Buchstaben oder ein Symbol hat, und sie entsprechend klassifizieren, sonst werfen und Fehler nach dem Drücken der OK-Taste. – Adi

+0

Leider verstehe ich Sie immer noch nicht vollständig .. auf der Klasse ['Char'] (https://msdn.microsoft.com/en-us/library/system.char.aspx) gibt es Methoden in .NET Framework, das einen Charakter, UpperCase Charakter und so weiter identifizieren kann, hoffe, dass es Ihnen hilft .. –

Antwort

0

Erstellen Sie 3 Regex. Eine für numerische (Ziffer) (Klasse 0), eine für Großbuchstaben (Klasse 1) und eine für alle Symbole (Klasse 2). Klicken Sie bei der Ok-Schaltfläche auf click, aktivieren Sie das Kontrollkästchen checked (Klasse 0 oder 1 oder 2) und validieren Sie die Eingabe im Textfeld gegen die entsprechende Regex. Wenn die Validierung fehlschlägt, geben Sie die Fehlerbenachrichtigung ein.

Verwandte Themen