Heim >Backend-Entwicklung >C++ >Wie kann ich ein Windows -Formular -Textfeld einschränken, um nur numerische Eingaben zu akzeptieren?
In der Windows -Fensteranwendung muss die Benutzereingabetaste des Textfelds häufig auf ein bestimmtes Format wie den Wert beschränkt sein. In diesem Artikel werden zwei Methoden zur Implementierung dieser Überprüfung erörtert:
<.> 1. verwenden Sie numericUpdown -Steuerung
numericUpdown -Steuerung wird speziell für die numerische Eingabe verwendet. Es wird automatisch nicht -digitale Zeichen herausgefiltert, eine benutzerfreundliche Schnittstelle bereitgestellt und eine inkrementelle und Reduktionsstaste erstellt.
<.> 2. Tastaturereignisse verarbeiten
oder Sie können Tastaturereignisse verarbeiten, um nicht -digitale Eingaben zu verhindern. Durch Umschreiben des TastePress -Ereignisses kann ein benutzerdefinierter Filtermechanismus erreicht werden. Folgendes ist ein C# -Codefragment, das diese Methode demonstriert:
Dieser Code ermöglicht eine numerische Eingabe, einschließlich einer Dezimalzahl mit einem Dezimalpunkt. Sie können andere Inspektionen hinzufügen, um die Zahl zu begrenzen oder negative Werte zu ermöglichen.
Durch die Implementierung einer dieser beiden Methoden können Sie das Textfeld effektiv einschränken, um digitale Eingaben nur zu akzeptieren, und den Benutzern klarere und effizientere Datenüberprüfungserfahrung bereitstellen.
<code class="language-csharp">private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { // 阻止非数字字符和无效的小数点用法 if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && (e.KeyChar != '.')) { e.Handled = true; } // 只允许一个小数点 if ((e.KeyChar == '.') && ((sender as TextBox).Text.IndexOf('.') > -1)) { e.Handled = true; } }</code>
Das obige ist der detaillierte Inhalt vonWie kann ich ein Windows -Formular -Textfeld einschränken, um nur numerische Eingaben zu akzeptieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!