-
- Tổng tiền thanh toán:
Khi mua hàng tại website của chúng tôi, quý khách sẽ được:
Trong bài này mình sẽ giới thiệu các bạn một trong số các điều khiển thông dụng trong C# winforms đó chính là Label, Button, Textbox. Đây là các điều khiển được sử dụng rất nhiều khi lâp trình ứng dụng với winforms.
Chúng ta sẽ cùng nhau tìm hiểu lần lượt các điều khiển trên, sau đó mình sẽ tạo một ứng dụng đơn giản sử dụng các điều khiển và xử lý sự kiện cho nó.
Label thường được dùng hiển thị thông tin chỉ đọc và thường sử dụng kèm với các điều khiển khác để mô tả chức năng.
Một số thuộc tính thường dùng của Label
Thuộc tính | Mô tả |
---|---|
BorderStyle | Thiết lập đường viền |
Font | Thiết lập font chữ hiển thị trên Label |
Text | Nội dung hiển thị trên Label |
Backcolor | Màu nền của Label |
ForeColor | Thiết lập màu chữ hiển thị trên Label |
Name | Tên của Label |
TextAlign | Canh lề nội dung của Label (Left | Center | Right) |
Visible | Ẩn hoặc hiện Label |
Ví dụ:
Các dòng chữ ở hai ví dụ trên đều sử dụng Label để mô tả, sử dụng thuộc tính Text trong Label để có thể đặt nội dung tùy ý.
Button là điều khiển tạo giao diện nút lệnh trên Form, khi người dùng nhấn chuột vào nút lệnh thì chương trình sẽ thực hiện một hành động nào đó. Button được đặt trong nhóm Common Controls của cửa sổ Toolbox.
Công dụng của Button:
Thuộc tính | Mô tả |
---|---|
Name | Đặt tên cho nút lệnh |
Text | Nội dung hiển thị lên nút nhấn |
Visible | Ẩn, hiện nút nhấn |
Enable | Cho phép/ không cho phép tương tác với nút lệnh |
Font | Chỉ đinh kiểu chữ, kích cỡ chữ hiển thị |
Image | Hình ảnh hiển thị trên nút lệnh |
ForeColor | Màu chữ hiển thị trên nút lệnh |
BackColor | Màu của nút lệnh |
TabIndex | Chỉ định thứ tự tab của các Button trên Form |
Sự kiện | Diễn giải |
---|---|
Click | Sự kiện nhấn chuột vào Button |
TextChanged | Giá trị thuộc tính Text bị thay đổi |
Trong phần này chúng ta sẽ tìm hiểu về công dụng của Textbox là gì, cũng như các thuộc tính và các phương thức thường dùng trong Textbox.
Công dụng của Textbox:
Thuộc tính | Diễn giải |
---|---|
PasswordChar | Ký tự thay thế khi nhập vào TextBox |
Multiline | Cho phép Textbox có nhiều dòng hay không |
ScrollBars | Thanh cuộn (None / Horizontal / Vertical / Both) |
MaxLength | Quy định chuỗi Max sẽ nhập vào Textbox, mặc định là 32767 |
Focus | Textbox sẵn sàng được tương tác bởi người dùng |
Một số sự kiện thường dùng của Textbox:
Sự kiện | Diễn giải |
---|---|
KeyDown | Thực hiện công việc nào đó khi một phím được nhấn xuống |
KeyUp | Thực hiện công việc nào đó khi một phím được thả ra |
KeyPress | Xảy ra khi người dùng nhấn một phím và thả ra. Mỗi sự kiện KeyPress cho ta một cặp sự kiện KeyDown và KeyUp |
TextChanged | Giá trị của thuộc tính Text bị thay đổi |
MouseEnter | Chuột nằm trong vùng thấy được của Textbox |
MouseHover | Chuột nằm trong vùng hiển thị một quảng thời gian |
MouseLeave | Chuột ra khỏi vùng nhập liệu của Textbox |
MouseMove | Chuột được di chuyển trên Textbox |
Một số phương thức của Textbox:
Phương thức | Diễn giải |
---|---|
Clear() | Xóa tất cả chuỗi hiển thị trong Textbox |
Cut() | Di chuyển phần nội dung bôi đen của chuỗi |
Paste() | Dán phần nội dung được chọn của chuỗi |
Copy() | Sao chép phần nội dung được bôi đen của chuỗi |
Undo() | Khôi phục thao tác trước |
Select() | Chọn một phần nội dung của chuỗi trong Textbox |
SelectAll() | Chọn tất cả nội dung của chuỗi trong Textbox |
DeselectAll() | Bỏ chọn chuỗi trong Textbox |
Trong phần này mình sẽ tạo một ứng dụng nhập xuất đơn giản sử dụng 3 điều khiển nói trên đó chính là máy tính bỏ túi dùng để tính toán các phép tính đơn giản như cộng, trừ, nhân, chia.
Tạo giao diện cho Form như hình
Xử lý các sự kiện sau:
Chúng ta sẽ lần lượt thực hiện theo yêu cầu của đề bài, đầu tiên sẽ tạo giao diện cho Form như đề bài. Chúng ta sẽ có tất cả 3 Label, 3 Textbox, 5 Button.
*Lưu ý: Các bạn nên đặt tên cho từng Label, Button, Textbox để khi chúng ta xử lý sự kiện dễ dàng truy xuất nó ra và không bị nhầm lẫn với các điều khiển khác.
Sau khi các bạn đã tạo xong giao diện Form giống như đề bài yêu cầu, bây giờ các bạn sẽ bắt tay vào thực hiện xử lý các sự kiện trên các điều khiển.
Sự kiện đầu tiên là các ô TextBox chỉ cho nhập số và được xóa lùi. Ta sẽ viết trên sự kiện KeyPress, nếu e.KeyChar (ký tự người dùng nhập vào) >=0 và <= 9 thì cho nhập vào.
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 Bai_03_01 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void txt_So1_KeyPress(object sender, KeyPressEventArgs e) { if (!(e.KeyChar >= '0' && e.KeyChar <= '9' || e.KeyChar == (char)(8))) { e.Handled = true; } } private void txt_So2_KeyPress(object sender, KeyPressEventArgs e) { if (!(e.KeyChar >= '0' && e.KeyChar <= '9' || e.KeyChar ==(char)8)) { e.Handled = true; } } private void btn_Cong_Click(object sender, EventArgs e) { int Result = Convert.ToInt32(txt_So1.Text) + Convert.ToInt32(txt_So2.Text); txt_KetQua.Text = Result.ToString(); } private void btn_Tru_Click(object sender, EventArgs e) { int Result = Convert.ToInt32(txt_So1.Text) - Convert.ToInt32(txt_So2.Text); txt_KetQua.Text = Result.ToString(); } private void btn_Nhan_Click(object sender, EventArgs e) { int Result = Convert.ToInt32(txt_So1.Text) * Convert.ToInt32(txt_So2.Text); txt_KetQua.Text = Result.ToString(); } private void btn_Chia_Click(object sender, EventArgs e) { Double Result = Convert.ToDouble(txt_So1.Text) / Convert.ToDouble(txt_So2.Text); txt_KetQua.Text = Result.ToString(); } private void btn_Del_Click(object sender, EventArgs e) { txt_So1.Clear(); txt_So2.Clear(); txt_KetQua.Clear(); } } }
Như vậy là chúng ta đã cùng nhau tìm hiểu về một trong số các điều khiển thông thường Label, Button, Textbox. Vì đây là những điều khiển căn bản và được sử dụng rất nhiều nên các bạn hãy luyện tập thật nhiều để có thể sử dụng nó thành thạo nhé. Ở bài tiếp theo mình sẽ giới thiệu thêm một số điều khiển thông thường khác như là Checkbox - Radio Button, các bạn chú ý theo dõi nhé !!!