Giúp Bạn Tự học lập trình winform C# qua các ví dụ – Trong bài này chúng ta làm quen với các sự kiện và các control căn bản như Label, Textbox, Button.
Cách tạo:
{
//Bạn sẽ đánh code cho phần xử lý sự kiện ở đây.
}
{
MessageBox.Show(“Xin chào các bạn!”);
}
MessageBox là đối tượng hiển thị các thông báo trên màn hình.
– Khi bạn muốn tạo 1 sự kiện cho một control nào đó, bạn chọn event trong cửa sổ properties của đối tượng đó, và Visual Studio sẽ tự động chuyển sang màn hình source code và 1 hàm xử lý sự kiện được tự động tạo ra cho bạn. Tuy nhiên, hệ thống nó sẽ sinh ra nhiêu đoạn mã khác nhưng nó được cất dấu ở trong phần riêng của form và được ẩn đi. Hình dưới:
Bạn có thể xem đoạn code bên trong bằng cách bấm chuột vào dấu +. Bạn có thể thay đổi source code này theo ý mình nhưng tôi khuyên bạn không nên chỉnh sửa nó trừ khi bạn biết rõ mình sửa nó để làm gì và với mục đích gì.
+ Windows Form Designer generated code
– Như đã trình bày ở trên, khi bạn đánh vào font chữ việt sự dụng font unicode, bạn phải lưu form ở chế độ save as unicode (xem lại trên).
Khi button Xanh được bấm thì màu nền của form sẽ đổi sang màu xanh, button Đỏ được bấm thì màu nền của form sẽ đổi sang màu đỏ, và button mặc định được bấm thì màu nền của form lại trở về như lúc đầu.
Các thuộc tính:
– Cho button btnXanh
{
this.BackColor = Color.Blue;
}
– Cho button btnDo
{
this.BackColor = Color.Red;
}
– Cho button btnMacDinh
{
this.BackColor = Color.Empty;
}
Giải thích: Các tên hàm và các tham số là do Visual Studio .Net tự nó generate ra cho chúng ta nên ta chỉ xét các code bên trong.
this : chỉ đối tượng chính nó (nó giống như Me trong VB6). Ở đây nó chính là form frmMauNen.
Color: là đối tượng màu được lưu sẵn trong thư viện của VS .Net
Blue, Red: là hằng số về màu có sẵn trong thư viện của VS .Net
Ghi chú:
this.BackColor: ta thấy this là đối tượng, BackColor chính là thuộc tính. Và tương tự với những đối tượng và thuộc tính khác.
Kiểu Điều Khiển Cùm Từ Đứng Đầu Ví Dụ
c) Nâng cao: ở ví dụ trên, bạn hãy viết thêm đoạn code để khi mặc định thì button mặc định mờ căm (disable), 2 button kia thì bình thường (enable); Khi button đỏ được bấm thì button đỏ sẽ tự mờ căm (disable), 2 button kia bình thường; Khi button xanh được bấm thì button xanh sẽ tự mờ căm, 2 button kia bình thường.
Form
frm
frmNhapSVButton
btn
btnDoLabel
lbl
lblMsgHộp văn bản (Textbox)
txt
txtHovaTenSVHộp đánh dấu (Checkbox)
chk
chkReadOnlyNút tuỳ chọn (radio button)
opt
optGioiTinhHộp kết hợp (combo box)
cbo
cboKhoaHình ảnh (Image)
img
imgSinhVienLưới (Grid)
grd
grdDanhSachSVThanh cuộn đứng
hsb
hsbVolumeThanh cuộn ngang
vsb
vsbVolumeThanh công cụ (ToolBar)
tlb
tlbQLSVMenu
mnu
mnuQLSVHộp hội thoại thông dụng
dlg
dlgFileOpenThời giam (Timer)
tmr
– Một lợi ích khi lập trình visual là các công cụ hỗ trợ lập trình visual (như Visual Studio .Net) thường có hỗ trợ cú pháp trong quá trình bạn code.
Khi bạn code, như ví dụ trên, khi bạn đánh vào this. (chấm) thì lập tứng một cửa sổ popup sổ xuống list cho ta danh sách các thuộc tính và phương thức của đối tượng ta vửa mới đánh vào (this).
Đối với nhãn, ta cũng có thể sử dụng anchoring để chỉ định vị trí nhãn trên form khi ta resize form.
Trong lập trình Visual, mọi đối tượng đều có sự kiện cho riêng nó, tuy nhiên đối với nhãn, ta thường không sử dụng sự kiện vì nhãn chỉ có chức năng thông dụng là hiển thị một câu thông báo hay kết quả ra màn hình. Vì vậy ở đây ta cũng không xét đến các sự kiện của nó.
Với các thuộc tính:
this.BackColor = Color.Blue;
}
this.BackColor = Color.Red;
}
this.BackColor = Color.Empty;
}
string msg = “”;
Giải thích: Các hàm sự kiện này ta đã giải thích ở phần button rồi nên ở đây tôi chỉ giải thích các phần mới (phần in đậm).
Đầu tiên ta khai báo 1 biến msg và khởi gán bằng khoảng trống
this.BackColor.ToString(): Trong lập trình visual, đối với thuộc tính, ta có thể vừa lấy (get) và vừa gán (set) giá trị cho thuộc tính của đối tượng (cũng có trường hợp một số thuộc tính chỉ cho gán hoặc chỉ cho lấy giá trị mà thôi). Trong trường hợp này, thuộc tính BackColor cũng là một đối tượng nên ta không thể cộng đối tượng vào một chuỗi được mà ta phải đổi nó ra chuỗi (phương thức ToString())
This. BackColor: là lấy (hoặc gán) màu của (cho) đối tượng this.
btnMacDinh. Text: lấy (hoặc gán) text trên button btnMacDinh.
lblMsg. Text: gán (hoặc lấy) text vào (của) label lblMsg.
Chú ý:
private void frmMauNen_Load(object sender, System.EventArgs e)
{
string msg = “”;
msg = msg + “Màu nền form: ” + this.BackColor.ToString()+ “n”;
lblMsg.Text = msg;
}
b)
Textbox là đối tượng để nhập văn bản vào. Đây cũng là một trong những control thông dụng nhất trong lập trình visual.
Thuộc tính này chỉ có tác dụng khi bạn chọn Multiline= True NoneKhông có thanh cuộn.HorizontalChỉ có thanh cuộn đứng.VerticalChỉ có thanh cuộn ngang.BothCó cả 2 thanh cuộn đứng và ngang.Thuộc tính này chỉ có tác dụng khi bạn chọn Multiline= TrueTrue FalseTrue – Nếu bạn muốn khi nhập liệu vào textbox thì nó sẽ tự động xuống dòng nếu như hết hàng.
a) Hãy tạo một project có tên TextBox và tạo giao diện nhập mới 1 sinh viên giống như hình dưới. Ví dụ này chỉ giới thiệu về cách thiết kế giao diện, không có các xử lý sự kiện.
Với các thuộc tính:
Lưu ý:
Các đối tượng label:
font-name: tahoma font-size: 10px font-weight: bold
Các đối tượng textbox
b) Hãy tạo một project có tên là TextArea và tạo giao diện form cho 1 ứng dụng soạn thảo văn bản đơn giản giống như hình dưới. Ví dụ này cũng chỉ để giúp bạn tạo giao diện mà thôi, không có các xử lý.
với các thuộc tính sau:
2 button sử dụng
font: tahoma
size: 10pt
weight: bold
Textbox sử dụng
font: tahoma
size: 12pt
weight: normal
Tạp Chí TRITHUCSANGTAO.VN