TextBox

Alf

Mitglied
Hallo,

wie kann ich es programmieren, dass nur Zahlen in die TextBoxen eingegeben werden können? Wäre schön, wenn du mir weiter helfen könntest.

Vielen Dank

Alf
 
Code:
private void textBox1_KeyPress (object sender, System.Windows.Forms.KeyPressEventArgs e)
{
  if (Char.IsDigit(e.KeyChar) != true)
     MessageBox.Show("Bitte nur Zahlen eingeben!");
}

mfG,
Nitro
 
Es gibt noch ne andere Möglichkeit die find ich eigentlich besser, is zwar nicht der Sinn von DataBindings aber was solls :D

Mach dir in deiner Klasse einfach ne Eigenschaft von nem int Wert und setz bei dem TextFeld ein DataBinding mit dem Text auf diese Eigenschaft, dann sind auch nur Zahlenwerte zulässig und du brauchst sie nicht dauernd selbst mit Int32.Parse umwandeln sondern kannst die Zahl direkt aus der Eigenschaft nehmen

So würd ichs zumindest machen, is die bequemste Lösung
 
Hey,

erstmal danke, aber das erste Bsp. funktioniert bei mir irgendwie nicht und das von Rippa_HD verstehe ich nicht Kannst du vieleicht ein Code-Bsp. schrieben

Mercie

Alf
 
}
Code:
public class Form1 : System.Windows.Forms.Form
{
	private System.Windows.Forms.TextBox textBox1;
	private int wert4DataBinding = 0;

	public int Wert4DataBinding
	{
		get
		{
			return this.wert4DataBinding;
		}
		set
		{
			this.wert4DataBinding = value;
		}
	}


	public Form1()
	{
		InitializeComponent();
		textBox1.DataBindings.Add("Text",this,"Wert4DataBinding");
	}

	private void InitializeComponent()
	{
		this.textBox1 = new System.Windows.Forms.TextBox();
		this.SuspendLayout();
		// textBox1
		this.textBox1.Location = new System.Drawing.Point(192, 40);
		this.textBox1.Name = "textBox1";
		this.textBox1.Size = new System.Drawing.Size(120, 20);
		this.textBox1.TabIndex = 0;
		this.textBox1.Text = "textBox1";
		// Form1
		this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
		this.ClientSize = new System.Drawing.Size(360, 166);
		this.Controls.Add(this.textBox1);
		this.ResumeLayout(false);
	}

	[STAThread]
	static void Main() 
	{
		Application.Run(new Form1());
	}

So ungefähr sollt es gehen, musst aber aufpassen der Wert wird erst aktualisiert wenn man das Textfeld verlässt, wenn dann Buchstaben drin stehen kommt wieder der Wert rein der vorher drin stand.
 
Servus,

jo, funktioniert. Zwar noch nicht 100%ig wie ich es mir vorgestellt habe, aber für den Anfang ist es ok.

Danke
Alf
 

Neue Beiträge

Zurück