02/10/2018, 00:42

[C#] Bắt lỗi sự kiện control sử dụng Error Provider trong lập trình csharp

Bài viết hôm nay, mình xin hướng dẫn các bạn các bắt lỗi người dùng nhập vào, hay v alidate event trong C# . Ví dụ: mình kiểm tra dữ liệu nhập vào có nhập hay chưa, có đúng với mask yêu cầu của mình hay không, nếu không mình sẽ chặn lại và không cho submit. ...

Bài viết hôm nay, mình xin hướng dẫn các bạn các bắt lỗi người dùng nhập vào, hay validate event trong C#. Ví dụ: mình kiểm tra dữ liệu nhập vào có nhập hay chưa, có đúng với mask yêu cầu của mình hay không, nếu không mình sẽ chặn lại và không cho submit.

Trong lập trình C#, nếu các bạn làm cách bình thường sẽ kiểm tra và từng control và nếu dữ liệu sai các bạn sẽ xuất message box. 

Trong lập trình C#, Visual studio đã cung cấp cho chúng ta công cụ Error Provider trong C#, để bắt lỗi các dữ liệu người dùng nhập vào trên từng control.

Ví dụ: mình có demo chương trình đăng nhập login như sau:

error provider c#

+ nếu chương trình chưa nhập user name vào và để trắng sẽ thông báo lỗi.

Source code C#:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

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

        private void txtusername_Validating(object sender, CancelEventArgs e)
        {
            if (string.IsNullOrEmpty(txtusername.Text))
            {
                e.Cancel = true;
                txtusername.Focus();
                errorProvider.SetError(txtusername, "Please enter your user name!");
            }else
            {
                e.Cancel = false;
                errorProvider.SetError(txtusername, null);
            }
        }

        private void btnLogin_Click(object sender, EventArgs e)
        {
            if (ValidateChildren(ValidationConstraints.Enabled))
            {
                MessageBox.Show("Login successful!", "Infomation",MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
    }
}

Have Fun :)

Tags:
0