Live Chat Icon For mobile
Live Chat Icon

How can I restrict the characters that my textbox can accept

Platform: WinForms| Category: TextBox

You can handle the textbox’s KeyPress event and if the char passed in is not acceptable, mark the events argument as showing the character has been handled. Below is a derived TextBox that only accepts digits (and control characters such as backspace, …). Even though the snippet uses a derived textbox, it is not necessary as you can just add the handler to its parent form.

[C#]
public class NumbersOnlyTextBox : TextBox
{
	public NumbersOnlyTextBox()
	{
		this.KeyPress += new KeyPressEventHandler(HandleKeyPress);
	}

	private void HandleKeyPress(object sender, KeyPressEventArgs e)
	{
		if(!char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar))
			e.Handled = true;
	}
}

[VB.NET]
Public Class NumbersOnlyTextBox
	Inherits TextBox
   
	Public Sub New()
		AddHandler Me.KeyPress, AddressOf HandleKeyPress
	End Sub ’New
   
	Private Sub HandleKeyPress(sender As Object, e As KeyPressEventArgs)
		If Not Char.IsDigit(e.KeyChar) And Not Char.IsControl(e.KeyChar) Then
			e.Handled = True
		End If
	End Sub ’HandleKeyPress
End Class ’NumbersOnlyTextBox

Share with

Share on twitter
Share on facebook
Share on linkedin

Related FAQs

Couldn't find the FAQs you're looking for?

Please submit your question and answer.