Zahlen nur in TextBox in C#

Muhammad Maisam Abbas 15 Februar 2024
  1. Nur Zahlen TextBox Mit der Ansicht NumberUpDown in C#
  2. Nur Zahlen TextBox Mit der Ansicht TextBox in C#
Zahlen nur in TextBox in C#

In diesem Lernprogramm werden die Methoden zum Erstellen eines Textfelds vorgestellt, in dem nur Zahlen in C# akzeptiert werden.

Nur Zahlen TextBox Mit der Ansicht NumberUpDown in C#

Die Ansicht NumberUpDown wird verwendet, um numerische Eingaben vom Benutzer in C# abzurufen. Um eine NumberUpDown-Ansicht in unserer Windows Form-Anwendung hinzuzufügen, wählen Sie einfach NumberUpDown aus der Toolbox aus und ziehen Sie sie in unser Formular. Die Ansicht NumberUpDown nimmt dem Benutzer keine nicht numerischen Werte ab. Außerdem können wir einen Wert mit den Cursortasten nach oben oder unten verschieben. Das folgende Codebeispiel zeigt uns, wie wir ein Textfeld erstellen können, das nur numerische Werte vom Benutzer mit der Ansicht NumberUpDown in C# akzeptiert.

using System;
using System.Windows.Forms;

namespace textbox_numbers_only {
  public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
    }

    private void numericUpDown1_KeyPress(object senderObject, KeyPressEventArgs KeyPressEvent) {
      if (!char.IsControl(KeyPressEvent.KeyChar) && !char.IsDigit(KeyPressEvent.KeyChar) &&
          (KeyPressEvent.KeyChar != '.')) {
        KeyPressEvent.Handled = true;
      }
      if ((KeyPressEvent.KeyChar == '.') && ((senderObject as TextBox).Text.IndexOf('.') > -1)) {
        KeyPressEvent.Handled = true;
      }
    }

    private void numericUpDown1_ValueChanged(object sender, EventArgs e) {}
  }
}

Ausgabe:

C#-Textbox nur Nummer 1

Im obigen Code erstellen wir ein Textfeld, das nur numerische Werte vom Benutzer mit der Ansicht NumberUpDown in C# akzeptiert. In der Funktion numericUpDown1_KeyPress() haben wir eine Prüfung für . Hinzugefügt. Wert, damit der Benutzer Dezimalpunktwerte eingeben kann. Dieses Textfeld akzeptiert nur numerische Werte mit 2 Ziffern.

Nur Zahlen TextBox Mit der Ansicht TextBox in C#

Wenn wir keine proprietären Ansichten verwenden möchten, können wir auch die ursprüngliche Ansicht TextBox so ändern, dass nur numerische Werte akzeptiert werden. Mit der Eigenschaft KeyPressEventArgs.Handled in der Funktion TextBox_KeyPress() können Sie angeben, welche Tastendrücke von unserem Textfeld verarbeitet werden sollen. Das folgende Codebeispiel zeigt uns, wie wir ein Textfeld erstellen können, das nur numerische Werte mit der Ansicht TextBox in C# akzeptiert.

using System;
using System.Windows.Forms;

namespace textbox_numbers_only {
  public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
    }

    private void textBox1_TextChanged(object sender, EventArgs e) {}
    private void textBox1_KeyPress(object sender, KeyPressEventArgs KeyPressEvent) {
      KeyPressEvent.Handled = !char.IsDigit(KeyPressEvent.KeyChar);
    }
  }
}

Ausgabe:

C#-Textbox nur mit Zahlenwerten 2

Im obigen Code haben wir angegeben, dass unser Textfeld keine nicht numerischen Werte mit der Eigenschaft KeyPressEvent.Handled in der Funktion textBox1_KeyPress() verarbeiten soll.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Verwandter Artikel - Csharp GUI