Chia sẻ

Giới thiệu

Điều khiển Textbox trong Winform C# được sử dụng để hiển thị một dòng văn bản, nó chỉ có thể chứa văn bạn chưa được định dạng theo thuộc tính Text, chúng ta có thể thay đổi thuộc tính Text để hiển thị những dòng văn bản chúng ta muốn hiển thị. Tuy nhiên, nhiều khi chúng ta muốn Textbox chỉ hiển thị số mà không hiển thị chữ. Để thực hiện được điều này chúng ta có thể sử dụng Biểu thức chính quy (Regular Expression) hoặc bổ sung code vào phương thức KeyPress của Textbox.

Dưới đây csharpcanban.com sẽ hướng dẫn các bạn sử dụng Biểu thức chính quy và bổ sung code xác thực vào phương thức KeyPress để cho phép Textbox chỉ nhập các ký tự số mà không được nhập chữ.

Thực hành

Để sử dụng biểu thức chính quy để cho phép Textbox chỉ hiển thị số mà không hiển thị chữ, ta sử dụng dòng lệnh sau.

System.Text.RegularExpressions.Regex.IsMatch(textBox1.Text, "[ ^ 0-9]")

Ngoài cách trên, các bạn còn có thể bổ sung code vào phương thức KeyPress như sau. Theo cách này, cứ mỗi lần nhấn phím khi con trỏ đang nằm trong Textbox, thì Textbox sẽ thực hiển kiểm tra ký tự, nếu đó là số thì cho phép nhập, nếu không là số thì không nhập được.

if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
{
    e.Handled = true;
}

Nếu cho phép nhập thêm dãy số double thì thực hiện như sau.

Xem thêm  [C#] Visual Studio là gì ?
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && (e.KeyChar != '.'))
{
      e.Handled = true;
}

Mã nguồn

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            if (System.Text.RegularExpressions.Regex.IsMatch(textBox1.Text, "  ^ [0-9]"))
            {
                textBox1.Text = "";
            }
        }
        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && (e.KeyChar != '.'))
            {
                e.Handled = true;
            }
        }
    }
}

Lời kết

Như vậy, trên đây csharpcanban.com đã Hướng dẫn các bạn xây dựng một ứng dụng sử dụng điều khiển Textbox để hiển thị dãy số bằng C#. Hãy thực hành và vận dụng ngay nhé các bạn. Hãy đặt câu hỏi trong phần bình luận ở dưới đây. Csharpcanban.com sẽ hướng dẫn các bạn chi tiết nhất.

Trong bài tiếp theo mình sẽ tiếp tục hướng dẫn các bạn sử dụng Microsoft Visual Studio C# để viết ứng dụng sử dụng Autocomplete Textbox, hãy thường xuyên theo dõi csharpcanban.com để cập nhật các bài học mới nhé các bạn.

Bản quyền

Nội dung trên csharpcanban.com được biên soạn, biên dịch từ nhiều nguồn khác nhau, đồng thời đã được viết thành chương trình chạy. Csharpcanban.Com bảo lưu mọi quyền đối với những bài viết này. Mọi hình thức sao chép đều cần phải được Csharpcanban.Com cấp phép.


Chia sẻ

By admin

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *