Trang chủ

Tự học lập trình winform C# qua các ví dụ bài 5

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.

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.

 

 

  1. a.   Các sự kiện của button

Trong các sự kiện của button thì chỉ có sự kiện Click chuột là quan trong nhất. Do đó, trong phần này ta cũng chỉ đi tìm hiểu sự kiện Click chuột.

Cách tạo:

Sự kiện click chuột là sự kiện mặc định của control button, do đó, bạn chỉ cần double click chuột vào button cần tạo sự kiện là VS .Net sẽ mở cửa sổ source code ra và tự động generate một hàm xử lý sự kiện click chuột cho bạn.

 

private void button1_Click(object sender, System.EventArgs e)

{

//Bạn sẽ đánh code cho phần xử lý sự kiện ở đây.

}

với button1_Click thì button1 chính là tên của control button mà bạn tạo sự kiện Click chuột cho nó.

 

  1. b.   Ví dụ:

a)   Hãy tạo 1 project có tên là Button và thiết kế form có 1 button giống như hình bên dưới:

 

tu-hoc-lap-trinh-winform-C#-bai-5-1

 

Với các thuộc tính:

Đối Tượng

Thuộc Tính Giá Trị

Form

Text
Name
Button
Mặc định
Button Text
Name
Click chuột vào đây!
Mặc định.

 

Và tạo một sự kiện click chuột cho button này.

Bạn double click chuột vào button, Visual Studio sẽ sinh ra cho bạn một hàm để sử lý sự kiện click chuột vào button. Vì sự kiện Click là sự kiện mặc định của button nên khi bạn double click vào thì sự kiện click cho button đó sẽ được tự động sinh ra. Sau đó đánh thêm vào đoạn code sau:

private void button1_Click(object sender, System.EventArgs e)

{

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.

Lưu ý:

–          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:

 

+ Windows Form Designer generated code

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ì.

–          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).

 

Bạn hãy chạy chương trình bằng cách bấm phím F5 để xem kết quả.

 

b)   Hãy tạo 1 form gồm 2 button giống như hình dưới:

 

tu-hoc-lap-trinh-winform-C#-bai-5-2

 

 

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:

          Đối Tượng

Thuộc Tính

Giá Trị
Form
Name
Text
frmMauNen
Button Đổi Màu Nền Cho Form
Button Name
Text
btnXanh
Xanh
Button Name
Text
btnDo
Đỏ
Button Name
Text
btnMacDinh
Mặc Định

Dưới đây là source code:

–  Cho button btnXanh

private void btnXanh_Click(object sender, System.EventArgs e)

{

this.BackColor = Color.Blue;

}

– Cho button btnDo

private void btnDo_Click(object sender, System.EventArgs e)

{

this.BackColor = Color.Red;

}

– Cho button btnMacDinh

private void btnMacDinh_Click(object sender, System.EventArgs e)

{

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

         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.

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.

 

Ghi chú:

–          Trong lập trình visual, các đối tượng đều có tên riêng của nó. Vì vậy để cho dễ dàng trong việc quản lý và lập trình, người ta thường đưa ra quy ước các tên của đối tựong. Bảng dưới đây mô tả cách đặt tên cho một số các control thông dụng mà ta thường sử dụng trong lập trình giao diện.

 

Kiểu Điều Khiển

Cùm Từ Đứng Đầu

Ví Dụ

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

tmrAlarm

 

–          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.

 

tu-hoc-lap-trinh-winform-C#-bai-5-3

 

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).


  1. 2.   Nhãn (Label)

Nhãn là thành phần đơn giản nhất và cũng là một trong những thành phần quan trọng nhất trong lập trình visual. Đối tượng nhãn (Label) chỉ để dùng trình bày một chuổi văn bản thông thường nhằm mục đính mô tả thêm thông tin cho các đối tượng khác. Ta cũng có thể dùng nhãn để làm công cụ đưa kết quả ra màn hình dưới dạng một chuỗi.

  1. a.   Tạo một nhãn (Label) trên form.

Cũng giống như button và hầu hết các control khác trong lập trình visual, để tạo một nhãn trên form, ta chỉ cần kéo đối tượng nhãn từ hộp công cụ ToolBox vào form giống như hình dưới đây:

 

 

tu-hoc-lap-trinh-winform-C#-bai-5-4

 

  1. b.   Các thuộc tính thông dụng của nhãn (Label)

Nhìn chung, các thuộc tính của các đối tượng window form control cũng gần gần như nhau. Do đó, các thuộc tính mà giống với thuộc tính như của control button như name, text, font, backcolo, v.v… thì tôi sẽ không trình bày ra nữa. Sau đây là một số thuộc tính thông dụng của nhãn (Label):

 

Tên Thuộc tính

Giá Trị

Diễn giải

BorderStyle None (mặc định) Không có đường viền
FixedSingle Có đường viền bao quanh
Fixed3D 3D, trông nó giống như bị lõm xuống (giống textbox)

Đố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.

 

tu-hoc-lap-trinh-winform-C#-bai-5-6

 

  1. c.    Các sự kiện của nhãn

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ó.

  1. d.   Ví dụ:

a)    Dùng cửa sổ form ta đã làm ở phần button, thêm vào 1 label để hiển thị các giá trị khi ta click vào các button. Giá trị hiển thị ở đây gồm thông tin về màu nền và tên của button được click. Bạn có thể sử dụng anchoring để thiết lập kích thước và vị trí của label khi bạn resize form.

Với các thuộc tính:

Label Name
Text
lblMsg
Bỏ trắng

Và dưới đây là source code:

private void btnXanh_Click(object sender, System.EventArgs e)

{

this.BackColor = Color.Blue;

 

                  string msg = “”;

                  msg = msg + “Màu nền form: ” + this.BackColor.ToString()+”\n”;

                  msg = msg + “Button click: ” + btnXanh.Text;

                  lblMsg.Text = msg;

}

 

private void btnDo_Click(object sender, System.EventArgs e)

{

this.BackColor = Color.Red;

 

                  string msg = “”;

                  msg = msg + “Màu nền form: ” + this.BackColor.ToString()+”\n”;

                  msg = msg + “Button click: ” + btnDo.Text;

                  lblMsg.Text = msg;

}

 

 

 

private void btnMacDinh_Click(object sender, System.EventArgs e)

{

this.BackColor = Color.Empty;

 

                  string msg = “”;

                 

                  msg = msg + “Màu nền form: ” + this.BackColor.ToString()+”\n”;

                  msg = msg + “Button click: ” + btnMacDinh.Text;

                  lblMsg.Text = 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

                        string msg = “”;

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ú ý:

Khi bạn mới bắt đầu chạy thì label sẽ trống không. Điều này đúng vì các sự kiện ghi dữ liệu lên nhãn (label) chỉ có hiệu lực một khi bạn click chuột lên 1 trong 3 button mà thôi. Để khi mới khởi động mà ta cũng có dữ liệu xuất lên trên nhãn thì ta phải viết thêm một sự kiện cho form: đó là sự kiện form_load.

private void frmMauNen_Load(object sender, System.EventArgs e)

{

string msg = “”;

msg = msg + “Màu nền form: ” + this.BackColor.ToString()+ “\n”;

msg = msg + “Button click: None”;

lblMsg.Text = msg;

}

b)


  1. 3.   Ô nhập (Textbox)

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.

 

  1. a.   Các thuộc tính

Cũng giống như button và label, textbox cũng có những thuộc tính gần giống với thuộc tính của 2 control mà ta đã được học qua. Dưới đây là bảng những thuộc tính thông dụng nhất của textbox:

 

Tên Thuộc tính

Giá Trị

Diễn giải

MaxLength integer Chiều dài tối đa dữ liệu nhập (ký tự)
Multiline True
False
Cho hay không cho textbox cao lên để cho phép nhập nhiều dòng.
PasswordChar character Nếu bạn muốn textbox này là 1 password field thì bạn chỉ cần chỉ định character mà bạn muốn hiển thị khi bạn nhập password vào thuộc tính này.
ReadOnly True
False
Cho hay không cho phép nhập liệu vào textbox này.
RightToLeft Yes
No
Yes – Nếu bạn muốn canh lề phải dữ liệu nhập.
ScrollBar

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.WordWrap
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.

 

  1. b.   Các sự kiện

Cũng như label, Textbox thường chức năng chính là để nhập liệu nên nó cũng ít khi phải sử dụng các sự kiện nên ở phần này ta cũng không bàn về các sự kiện của textbox.

 

  1. c.    Ví dụ:

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.

 

 

tu-hoc-lap-trinh-winform-C#-bai-5-7

 

Với các thuộc tính:

 

GroupBox Name
Text
ForeColor
grpThongTinCaNhan
Thông Tin Cá Nhân
Đỏ sậm
Label Name
Text
ForeColor
Mặc định
Mã Số
Xanh dương (blue)
Label Name
Text
ForeColor
Mặc định
Họ và Tên
Xanh dương (blue)
Label Name
Text
ForeColor
Mặc định
Ngày Sinh
Xanh dương (blue)
Label Name
Text
ForeColor
Mặc định
Nơi Sinh
Xanh dương (blue)
Label Name
Text
ForeColor
Mặc định
Địa Chỉ
Xanh dương (blue)
Label Name
Text
ForeColor
Mặc định
Số ĐT
Xanh dương (blue)
Label Name
Text
ForeColor
Mặc định
Mã Số
Xanh dương (blue)
TextBox Name txtMaSV
TextBox Name txtHovaTen
TextBox Name txtNgaySinh
TextBox Name txtNoiSinh
TextBox Name txtDiaChi
TextBox Name txtSoDT
TextBox Name txtEmail
Button Name
Text
btnLuu
Lưu
Button Name
Text
btnHuỷ
Huỷ
Button Name
Text
btnThoat
Thoát

Lưu ý:

Các đối tượng label:

font-name:   tahoma
font-size:      10px
font-weight: bold

Các đối tượng textbox

font-name:   tahoma
font-size:      10px
font-weight: normal

 

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ý.

 

 

tu-hoc-lap-trinh-winform-C#-bai-5-8

 

với các thuộc tính sau:

 

 

From Name
Text
frmEditor
Chương Trình Soạn Thảo Văn Bản
Button Name
Text
btnLuuFile
Lưu File
Button Name
Text
btnMoFile
Mở File
Textbox Name txtEditor

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

Xem thêm:

Xem thêm

Thời trang

Xem thêm

Giảm cân

Mua bán inox, inox 304, inox 201
Xem thêm

Kiến thức y học

Xem thêm

Thông tin giáo dục

Link hữu ích
shop bán váy đầm công chúa đẹp tại TP.HCM
shop bán Thời trang trẻ em cao cấp giao hàng toàn cầu
mua mùn cưa
váy đầm trẻ em | váy đầm công chúa | Sở giáo dục Lâm Đồng 
 |  Thu mua phe lieu
shop bán đầm bé gái đẹp tại TP.HCM

Tuyển chuyên viên thiết kế và may đầm công chúa giỏi :