Trong bài viết này chúng ta sẽ cùng nhau tìm hiểu về sự kiện TextChanged của TextBox trong C# Winforms. Đây là một sự kiện được sử dụng rất nhiều, hầu hết đều có trong các ứng dụng winforms. Show Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. Mình sẽ hướng dẫn các bạn cách tạo và xử lý sự kiện TextChanged của TextBox trong C# Winforms, cùng với đó là một ví dụ để các bạn có thể tham khảo. 1. Sự kiện TextChanged là gì?TextChanged là một sự kiện, xảy ra khi nội dung trong ô TextBox được thay đổi. Ví dụ khi chúng ta muốn tìm kiếm một danh sách các học sinh theo tên. Khi đó ta sử dụng sự kiện TextChanged để xử lý khi người dùng nhập vào tên cần tìm trong TextBox, các tên trùng với tên trong TextBox sẽ được hiện ra. Bài viết này được đăng tại [free tuts .net] 2. Cách tạo sự kiện TextChanged của TextBox trong C# WinformsĐể tạo được sử kiện TextChanged, việc đầu tiên chúng ta cần thêm vào Form một vài TextBox. Lưu ý nhớ đặt tên cho TextBox để tiện cho việc sử dụng nó sau này nhé. Sau khi đã thêm các TextBox vào Form và đặt tên cho nó. Bây giờ chúng ta cần tạo sự kiện TextChanged cho TextBox bằng hai cách sau: Cách 1: Tạo sự kiện TextChanged bằng cách chuột phải vào TextBox sau đó chọn Properties, nhấn vào biểu tượng sấm set rồi đặt tên cho sự kiện TextChanged. Cách 2: Ngoài ra còn có thể nhấn đúp chuột trái vào TextBox, khi đó hệ thống sẽ tạo sự kiên TextChanged và đưa tới cửa sổ viết code. 3. Xử lý sự kiện TextChanged của TextBox trong C# WinformsBây giờ chúng ta sẽ bắt đầu xử lý cho sự kiện TextChanged của TextBox vừa được tạo ở trên. Giả sử mình có một bài toán như sau: khi người dùng nhập nội dung vào TextBox 1 thì nội dung ở TextBox 2 sẽ bị xóa đi hết. Ngược lại khi nội dung ở TextBox 1 bị xóa hết đi thì TextBox 2 sẽ hiển thị nội dung "Hello, I'm Freetuts !!!". Để làm được điều này ta cần xử lý sự kiện TextChanged trên TextBox 1. Sử dụng if else để tạo điều kiện cho TextBox. if(txtTextBox1.Text == "") { txtTextBox2.Text = "Hello, I'm Freetuts !!!"; } Nếu TextBox 1 trống thì ta hiển thị nội dung "Hello, I'm Freetuts !!!" ở TextBox 2. else { txtTextBox2.Text = ""; } Ngược lại nếu TextBox 1 có nội dung thì ta sẽ xóa tất cả nội dung có trong TextBox 2. Kết quả: Khi người dùng nhập nội dung vào TextBox 1 thì TextBox hai sẽ trống, ngược lại người dùng xóa nội dung ở TextBox 2 thì TextBox 2 sẽ hiển thị nội dung. 4. Code hoàn chỉnhusing 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 EventsInWinform { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void txtTextBox1_TextChanged(object sender, EventArgs e) { if(txtTextBox1.Text == "") { txtTextBox2.Text = "Hello, I'm Freetuts !!!"; } else { txtTextBox2.Text = ""; } } } } Qua bài hướng dẫn này, các bạn sẽ biết được cách tạo sự và xử lý sự kiện TexhChanged của TextBox trong C# Winforms. Đây là một sự kiện rất thông dụng nên các bạn hãy luyện tập thật nhiều để thành thạo nói nhé, chúc các bạn thành công !!! GIỚI THIỆU
THUỘC TÍNH CỦA ĐỐI TƯỢNG Ở ngoài thực tế, thuộc tính là những đặc điểm của sự vật.
public YourForm() { InitializeComponent(); //Code thay đổi thuộc tính của textBox1 textBox1.BackColor = Color.LightYellow; textBox1.Text = "Lập trình cuộc sống"; textBox1.TextAlign = HorizontalAlignment.Center; textBox1.ForeColor = Color.Blue; //Code thay đổi thuộc tính button1 button1.Text = "IceTea Việt"; button1.BackColor = Color.LightGreen; button1.FlatStyle = FlatStyle.Flat; button1.Enabled = false; } Kết quả sẽ là: PHƯƠNG THỨC CỦA ĐỐI TƯỢNG Trong lập trình trên Console ta hay gọi một phương thức là "hàm". Nhưng nếu lập trình C# hướng đối tượng thì hàm đặt trong class được gọi là
phương thức. Mỗi class dù là class thường hay là Form, hay bất cứ Control nào khác đều có phương thức riêng cho mình
SỰ KIỆN CỦA CÁC ĐỐI TƯỢNG Sự kiện là gì?
// // Trong Yourform.Designer.cs this.button1.Click += new System.EventHandler(this.button1_Click); // Trong Class của YourForm nó sẽ gọi hàm để định nghĩa và xử lý cho sự kiện click trên private void button1_Click(object sender, EventArgs e) { //Các bạn sẽ cần gõ code xử lý sự kiện ở đây } Các bạn có thể thêm/xóa sự kiện bằng tay theo cú pháp // //Thêm vào Yourform.Designer.cs hay trong hàm dựng của Form đều được this.Control.Sựkiện += new System.EventHandler(this.tên hàm sự kiện); //và gọi hàm để định nghĩa cho sự kiện private void tên hàm sự kiện(object sender, XEventArgs e) { //Trong đó X có thế là Mouse, hoặc Graphics, hoặc có thể bỏ trống tùy loại sự kiện } //Xóa event vừa tạo this.Control.Sựkiện -= new System.EventHandler(this.tên hàm sự kiện); // Hoặc các bạn cũng có thể gõ this.<control>.<Sự kiện> += rồi tab 2 lần để VS tự động generate sự kiện và hàm cho bạn nếu bạn ko biết rõ nó là EventArgs hay MouseEventArgs,....
Rất dễ đúng không các bạn :D //Trong Form.Designer.cs private void InitializeComponent() { this.textBox1 = new System.Windows.Forms.TextBox(); this.button1 = new System.Windows.Forms.Button(); this.SuspendLayout(); // // textBox1 // this.textBox1.Location = new System.Drawing.Point(156, 223); this.textBox1.Name = "textBox1"; this.textBox1.Size = new System.Drawing.Size(183, 20); this.textBox1.TabIndex = 1; this.textBox1.BackColor = Color.LightYellow; this.textBox1.Text = "Lập trình cuộc sống"; this.textBox1.TextAlign = HorizontalAlignment.Center; this.textBox1.Visible = false; // // button1 // this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.button1.Location = new System.Drawing.Point(210, 184); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(75, 23); this.button1.TabIndex = 3; this.button1.Text = "TestButton"; this.button1.UseVisualStyleBackColor = true; this.button1.Click += new System.EventHandler(this.button1_Click); // // YourForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(625, 467); this.Controls.Add(this.button1); this.Controls.Add(this.textBox1); this.Name = "YourForm"; this.Text = "Form1"; this.ResumeLayout(false); this.PerformLayout(); } private System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.Button button1; //Trong Form Class của Form.cs private void button1_Click(object sender, EventArgs e) { MessageBox.Show("Cùng học MessageBox với IceTea Việt", "Thông báo"); } Chúc các bạn học tốt, chào các bạn và hẹn gặp lại! |