Textbox Value Restriction using VB.Net
In this tutorial, you will learn how to do textbox value restriction in allowing only specified characters or numbers based on your declared string. Also, we are using Microsoft Visual Studio 2013 as our IDE for this project. Here are the steps:
1. Open your Microsoft Visual Studio 2013 and create new project.
2. In your Form1, drag the textbox object from your Toolbox to your Form1. (see the image below).

3. Then, double click your Form1 to redirect you to its class for you to code the following:
[vbnet]
Public Class Form1
Dim valuesAllowed As String = "1234567890"
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.KeyPreview = True
End Sub
End Class
[/vbnet]In this line of code, we are setting the KeyPreview property of our form to true. This will enable us to indicate whether the form will receive key events before the event is passed to the control that has focus. textbox value restriction will be able to achieve.
4. Next, click your textbox object and go to Properties > Events > and find the KeyPress event in order for the Microsoft Visual Studio to produce a line of code for that event. (refer to the highlighted event in the image below, then double click it).

5. After double clicking it, insert this line of code on your KeyPress method.
[vbnet]
Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
If Not valuesAllowed.Contains(e.KeyChar) AndAlso e.KeyChar <> ChrW(Keys.Back) Then
e.Handled = True
End If
End Sub
[/vbnet]6. After inserting this line of code to your KeyPress method, you can now test it for yourself and see that the textbox object allows only to cater values based on your declared valuesAllowed string.(Textbox Value Restriction using VB.Net)
Here’s the full line of code in this tutorial:
[vbnet]
Public Class Form1
Dim valuesAllowed As String = "1234567890"
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.KeyPreview = True
End Sub
Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
If Not valuesAllowed.Contains(e.KeyChar) AndAlso e.KeyChar <> ChrW(Keys.Back) Then
e.Handled = True
End If
End Sub
End Class
[/vbnet]RAR Extraction Password:
Password: luffypirates
For questions or any other concerns, you can contact me through the following:
E-Mail: [email protected]
Facebook: facebook.com/kirk.lavapiez
Contact No.: +639771069640
To download the sample project with the line of codes, click here.
Ian Hero L. Lavapiez
BSIT Graduate
System Analyst and Developer
Related topic(s) that you may like:
- Creating mySQL Connection using VB.Net
- Class Library Project: How to create your own .dll using VB.Net
Technology stack and requirements
To run this VB.NET project, you need the following on your development machine:
- Visual Studio 2019 or later. The free Community Edition is enough for building, debugging, and running the project.
- .NET Framework 4.7.2 or higher. Most Windows 10 and 11 systems have it preinstalled through Windows Update.
- MySQL Server 8.0 or MSSQL Express 2019. Choose whichever your capstone panel prefers; both work with VB.NET data adapters.
- MySQL Connector/NET or SqlClient library. Add via NuGet Package Manager inside Visual Studio.
- Crystal Reports (optional). Required only if the project generates printable reports; install the runtime redistributable.
Installing the source code
The download link contains a ZIP archive with the full solution. Extract and set up in five steps:
- Extract the archive to a folder outside Program Files (avoids permission issues).
- Open the .sln file in Visual Studio. It loads the full solution with all forms and modules.
- Restore NuGet packages. Right-click the solution then Restore NuGet Packages if prompted.
- Import the database. Locate the .sql file in the archive and import via phpMyAdmin (MySQL) or SQL Server Management Studio.
- Update the connection string in App.config or module code to match your local database name, user, and password.
How to use this project for your BSIT capstone
This VB.NET project maps cleanly to standard BSIT capstone documentation. Suggested chapter alignment:
- Chapter 1 (Introduction). Discuss the problem the system solves in real-world context. Cite Philippine business or academic use cases where a manual process could be replaced.
- Chapter 2 (Review of Related Literature). Compare this system’s features against 5-10 similar published projects. Cite journals like IJERT or IEEE Access for academic-standard sources.
- Chapter 3 (Methodology). Include Use Case Diagram, Data Flow Diagram, Entity Relationship Diagram, and Activity Diagram covering all major workflows in the system.
- Chapter 4 (Results and Discussion). Screenshot each module of the running system with a caption explaining what data it processes and which user role interacts with it.
- Chapter 5 (Conclusion and Recommendations). Identify features that could be added in a Version 2, such as web dashboard, mobile app, or REST API export.
Modules typical of Textbox Value Restriction using VB.Net
- Master data. CRUD forms for the primary entities the system manages, with search and filter.
- Transaction processing. Data entry forms for the day-to-day operations the system automates.
- Reports. Formatted printable output summarizing activity per day, per user, or per category.
- User management. Login with role-based permissions (Admin, Encoder, Viewer).
- Backup and restore. Export database to a .sql or .bak file and restore when needed.
Common enhancements for capstone review
- Modernize the UI. Add Bunifu or Guna UI controls for a more polished, modern appearance.
- Add printable receipts. Integrate a printer preview form with page-setup options.
- Multi-user concurrency. Ensure the database handles simultaneous writes without lost-update errors.
- Web version. Rewrite the front-end in ASP.NET Core or React for a modern deployment path.
Official documentation
Frequently Asked Questions
What does this VB.NET WinForms control example demonstrate?
Core Windows Forms control (TextBox, CheckBox, RadioButton, ListBox, TreeView, ProgressBar, Button, DateTimePicker, PictureBox, MenuStrip, ToolStrip, Chart, etc.) usage pattern: properties, events, data binding, common gotchas.
What Visual Studio and SQL Server versions does this VB.NET project require?
Most projects use VB.NET WinForms on .NET Framework 4.5+ with SQL Server 2012 Express or higher. To run: install Visual Studio 2019 / 2022 (Community is free) with the ‘Desktop development with .NET’ workload, install SQL Server Express + SSMS, open the .sln file, build, run.
How do I set up the database for this VB.NET project?
Open SQL Server Management Studio (SSMS) and connect to your SQL Server (e.g. localhost\SQLEXPRESS). Right-click Databases, choose Restore Database OR New Database then import the included .sql script. Update the connection string in App.config (or in code-behind Module) with your server name + credentials. Rebuild and run.
Can I use this VB.NET project for a BSIT capstone or thesis?
Yes, VB.NET is one of the most accepted languages by Philippine BSIT panels. Extend it: add role-based access (admin/staff/customer login redirect), Crystal Reports or RDLC reports, dashboards with Chart control, audit log, multi-branch support. Pair with Chapter 1-5 documentation matching your panel’s rubric.
Why am I getting ‘connection error’ or ‘cannot find SQL Server’?
Three common VB.NET issues: (1) Connection error: SQL Server isn’t running. Open SQL Server Configuration Manager and verify SQL Server (SQLEXPRESS) service is started. (2) Wrong server name in connection string. Try .\SQLEXPRESS, (local)\SQLEXPRESS, or your machine name. (3) Login failed: SQL Server is set to ‘Windows-only’ authentication. Switch to Mixed Mode in SSMS Server Properties, Security.
Where can I find more VB.NET projects with source code?
Browse the VB.NET Projects hub for the full library. For C# WinForms alternatives see C# Projects. For ASP.NET web alternatives see ASP.NET Projects. For BSIT capstone idea lists see 150 Best Capstone Project Ideas.
