Tập bài giảng Lập trình cơ bản (Phần 2) - Nguyễn Thế Vinh

Tập bài giảng Lập trình cơ bản  
CHƢƠNG 4: LP TRÌNH TRÊN FORM  
Trong chƣơng này, giới thiệu cách xây dựng một ứng dụng Windows Forms cơ  
bản bằng cách sử dụng các điều khiển thông dụngtrong các ứng dụng GUI. Đồng thời  
hƣớng dẫn cách thiết lập các thuộc tính của Windows Forms và các điều khiển bằng  
cách sử dụng thiết kế trực quan hoặc cửa sổ Properties thay đổi hoặc kiểm tra giá trị  
của các thuộc tính tự động bằng cách sử dụng mã lệnh trong C#.  
4.1. Gii thiu vlp trình trên Form  
Trƣớc .NET, các nhà phát triển có vài chọn lựa trong việc xây dựng một ứng  
dụng Windows. Họ có thể xây dựng một ứng dụng bằng C hay C++ sử dụng Win32  
API. Việc này là công việc rất khó và chi phối thời gian. Tiếp đến là sử dụng  
Microsoft Foundation Classes (MFC) là một thƣ viện lớp sử dụng C++ đƣợc gói gọn  
trong Win32 API để xây dựng úng dụng Windows và Visual Basic là một công cụ phát  
triển mạnh cho phép tạo các ứng ụng Windows tƣơng đối nhanh chóng. Tuy nhiên, các  
giải pháp này đều không sử dụng .NET Framework hay CLR.  
.NET Framework chứa một tầng lớp tiện ích mới dựa trên Win32 API và giống  
nhƣ MFC và Visual Basic, nó cho phép phát triển các ứng dụng Windows hiệu suất  
cao hơn và dễ dàng hơn. Môi trƣờng này đƣợc gọi là Windows Forms, cho phép các  
lập trình viên tạo racác ứng dụng Windows tƣơng tác tốt hơn và lớn hơn sử dụng bất  
kỳ ngôn ngữ .NET nào.  
4.2. Làm vic vi Form  
4.2.1. Mt skhái nim  
Windows Forms là một tập hợp các thƣ viện lớpđƣợc quản lý trong .NET  
Framework để phát triển các ứng dụng desktop trên máy tính. Trong Windows Forms,  
Form là một cửa sổ giao diện cho phép hiển thị thông tin và tƣơng tác với ngƣời dùng.  
116  
Tập bài giảng Lập trình cơ bản  
Các ứng dụng Windows Forms thƣờng đƣợc xây dựng bằng cách thêm các điều khiển  
vào Form và xây dựng sự kiện tƣơng ứng với các hành động của ngƣời dùng, chẳng  
hạn nhƣ kích chuột hay bấm phím nào đó. Một điều khiển (control) là một thành phần  
có giao diện riêng (User Interface) và có thể hiển thị dữ liệu hoặc nhận dữ liệu vào.  
Để xây dựng một ứng dụng Windows Forms, có thể sử dụng rất nhiều đối  
tƣợng của lớp thuộc các không gian tên khác nhau (namespace), tuy nhiên có một  
không tên quan trọng không thể thiếu trong ứng dụng Windows Forms đó là  
System.Windows.Forms.  
System.Windows.Forms chứa các lớp dùng để tạo ứng dụng Windows với giao  
diện ngƣời sử dụng mang các đặc điểm ƣu việt có trên hệ điều hành Windows.  
Ví dụ 4.1 sau đây sẽ tạo ứng dụng Windows Form nhƣ mẫu sau:  
Hình 4.1: Giao diện ví dụ 4.1  
Yêu cầu:  
- Đặt dòng tiêu đề Form là Ví d4_1  
- Hiển thị dòng chữ Xin chào trên Form  
-Khi kích chuột vào nút ―Thoát‖: Thực hiện đóng Form trên.  
Hướng dẫn thực hiện:  
Bƣớc 1: Tạo ứng dụng Windows Forms Application:  
Mở Visual Studio 2010 vào File|New|Project và thực hiện thiết lập theo hình  
4.2.  
117  
Tập bài giảng Lập trình cơ bản  
Hình 4.2: Các bước tạo ứng dụng Windows Forms Application  
Sau khi click ―Ok‖, Visual Stuidio 2010 sẽ có giao diện nhƣ hình 4.3:  
Hình 4.3: Giao diện ứng dụng Windows Forms Application sau khi tạo.  
Khi làm việc với ứng dụng Windows Form, một số cửa sổ thƣờng xuyên sử  
dụng, nhƣ hình 4.3, ở giữa sẽ là giao diện của Form1 vừa tạo ra (Form1.cs[Design]),  
nơi đƣợc dùng để thiết kế giao diện ứng dụng, sẽ chứa những điều khiển đƣợc thêm  
vào, bên trái sẽ là cửa số Toolbox nơi chứa các điều khiển cho phép kéo thả vào Form.  
118  
Tập bài giảng Lập trình cơ bản  
Hình 4.4: Cửa sổ Toolbox.  
Bên phải là cửa sổ Cửa sổSolutionExplorer:Hiển thị các Project trong Solution, hiển  
thị tất cả các tệp trong Project Project với tên đƣợc tô đậmsẽ đƣợc chạy đầu tiên  
Hình 4.5: Cửa sổ Solution Explorer.  
Chú ý: Nếu các cửa sổ này không xuất hiện thì vào View để mở lại các cửa sổ  
đó.  
Bƣớc 2: Thay đổi tiêu đề cho Form.  
Để thay đổi tiêu đề Form, chọn Form1 trong cửa sổ Form1.cs[Design] và mở  
cửa sổ Properties để thay đổi thuộc tính Text trên Form1.  
119  
Tập bài giảng Lập trình cơ bản  
Hình 4.6: Cửa sổ Properties của Form1.  
Nếu cửa sổ Properties không xuất hiện thì chọn Form1 và nhấn phím F4.  
Bƣớc 3: Hiển thị dòng chữ ―Xin chào‖ trên Form1.  
- Mở cửa sổ Toolbox, tìm tới điều khiển Label  
nhƣ hình 4.7:  
, giữ chuột và kéo vào Form1  
Hình 4.7: Thêm điều khiển Label vào Form1.  
- Chọn điều khiển label1 trên Form1, mở cửa sổ Properties của điều khiển label1  
và sửa thuộc tính tính Text ban đầu là ―label1‖ thành ―Xin chào!‖  
120  
Tập bài giảng Lập trình cơ bản  
Hình 4.8: Thay đổi thuộc tính Text của điều khiển label1.  
Kết quả:  
Hình 4.9: Kết quả sau khi thay đổi thuộc tính Text của điều khiển label1  
- Tiếp theo thay đổi Font chữ cho điều khiển label1. Mở cửa sổ Properties của  
điều khiển label1, chọn thuộc tính Font, kích chuột vào biểu tƣợng  
sẽ xuất  
hiện của sổ Font nhƣ hình 4.10.  
Hình 4.10: Cửa sổ Font.  
- Thực hiện các thay đổi sau:  
Font: Time New Roman  
121  
Tập bài giảng Lập trình cơ bản  
Size: 16  
Font style: True  
- Sau đó thay đổi màu chữ bằng cách thiết lập thuộc tính ForeColor: Blue  
Kết quả:  
Hình 4.11: Thay đổi Font và màu chữ của điều khiển label1.  
Bƣớc 4: Thêm nút ―Thoát‖ và viết mã lệnh cho sự kiệnKích chuộtcủa nút  
―Thoát‖  
- Thêm điều khiển Button  
thuộc tính chon button1 nhƣ sau:  
Name:btThoat  
từ Toolbox vào Form1, thực hiện các thiết lập  
Text: Thoát  
- Trên cửa sổ Properties của nút ―Thoát‖, chọn biểu tƣợng  
để mở danh sách  
các sự kiện (event) của đối tƣợng lớp Button nhƣ hình 4.12, chọn sự kiện Click  
và double click vào sự kiện này, sẽ xuất hiện trong file Forms.cs một phƣơng  
thức đƣợc sinh ra tƣơng ứng với sự kiện Click của nút thoát (btThoat_Click)  
nhƣ hình 4.13.  
122  
Tập bài giảng Lập trình cơ bản  
Hình 4.12: Chọn sự kiện Click  
Hình 4.13: Phương thức btThoat_Click  
- Viết mã lệnh cho sự kiện Kích chuộtcủa nút ―Thoát‖  
private void btThoat_Click(object sender, EventArgs e)  
{
this.Close();//Phương thức dùng để đóng Form  
}
Bƣớc 5: Ấn phím F5 để chạy thử chƣơng trình và đƣợc kết quả nhƣ hình 4.1.  
4.2.2. Các loi Form  
Form có ba loại chính là Form dạnh Multiple Document Interface (MDI) còn  
đƣợc gọi là MDI Form (Form cha) cho phép trình bày các Form (Child Form hay  
Form con)khác bên trong. Những Form mở ra không nằm trong MDI Form gọi là  
Normal Form  
MDI Form  
Một Form đƣợc gọi là MDI Form khi thuộc tính IsMdiContainer có giá trị True.  
Khi chuyển thuộc tính IsMdiContainer của Form từ False sang True, lập tức màu nền  
của Form đổi thành màu xám nhƣ hình 4.14.  
Hình 4.14: Màu nền của MDI Form.  
Ví dụ 4.2: Thiết lập thuộc tính IsMdiContainer  
//Tạo Form frm và cho frm là MDI Form  
123  
Tập bài giảng Lập trình cơ bản  
Form frm = newForm1();  
frm.IsMdiContainer = true;  
frm.Show();//Hiển thị Form  
Child Form  
Child Form là Form khi nạp lên sẽ nằm trong một MDI Form. Để Form trở  
thành Child Form thì khai báo thuộc tính MdiParent tƣơng ứng với MDI Form.  
Ví dụ 4.3: Khai báo để mở Child Form có tên frm lớp Form3.  
Form frm = new Form3();  
frm.MdiParent = this;//this thể hiện Form gọi đến Form Frm là MDI Form  
frm.Show();//Hiển thị Form  
Normal Form  
Normal Form là Form không phải MDI Form hoặc Child Form  
4.2.3. Thuc tính ca Form  
Những thuộc tính chung của Windows Form đƣợc liệt kê trong bảng sau:  
Thuộc tính  
Mô tả  
Name  
Là thuộc tính để xác định tên của Form, mặc định, thuộc  
tính Name của Form đầu tiên trong ứng dụng Form1  
Thuộc tính xác định màu nền của Form  
Backcolor  
BackgroundImage  
Font  
Thuộc tính xác định hình nền cho Form  
Thuộc tính xác định kiểu, kích thƣớc loại font đƣợc hiển  
thị trên Form và trong những điều khiển trong Form  
Kích thƣớc của Form bao gồm: Width và Height  
Thuộc tính xác định vị trị mặc định xuất hiện của Form trên  
màn hình máy tính ngƣời sử dụng, có các thuộc tính sau:  
- Manual - vị trí và kích thƣớc của Form phụ thuộc vào vị  
trí xuất hiện của nó  
Size  
Start Position  
- CenterScreen - xuất hiện ở chính giữa màn hình  
- WindowsDefaultLocation - Form xuất hiện tại vị trí mặc  
định của Windows theo kích thƣớc của Form.  
- Windows DefaultBounds - Form đƣợc hiển thị tại vị trí  
mặc định của Windows và các chiều của chúng phụ thuộc  
vào hệ điều hành Windows.  
- Center Parent - Form đƣợc mở nhƣ một cửa sổ con của một  
Form khác và xuất hiện tại vị trí chính giữa so với Form cha.  
Xác định tiêu đề của Form  
Text  
124  
Tập bài giảng Lập trình cơ bản  
WindowState Xác định trạng thái xuất hiện của Form: Normal, Maximized,  
hay Minimized.  
Bảng 4.1: Một số thuộc tính của Form  
Ví dụ 4.4: Tạo Form và thực hiện thay đổi một số thuộc tính trên Form nhƣ sau:  
Name: frm4_4  
Text: Ví dụ 4_4  
Size: 500, 500  
BackColor:Red  
WindowState: Maximized  
Kết quả Form hiển thị nhƣ hình 4.15.  
Hình 4.15: Form sau khi thay đổi một số thuộc tính theo ví dụ 4.4.  
4.2.4. Skin trên Form  
Những sự kiện trong Windows Form đƣợc liệt kê nhƣ bảng sau:  
Sự kiện  
Mô tả  
Click  
Sự kiện này xảy ra khi click vào bất kỳ nơi nào trên Form  
Sự kiện này xảy ra khi một Form đƣợc đóng lại  
Sự kiện xảy ra khi một Formbị mất trạng thái sử dụng  
Sự kiện xảy ra khi một Formđƣợc tải trong bộ nhớ cho lần đầu tiên.  
Closed  
Deactivate  
Load  
MouseMove Sự kiện này xuất hiện khi chuột đƣợc rê trên một Form  
MouseDown Sự kiện xảy ra khi chuột đƣợc nhấn trên Form  
MouseUp  
Resize  
Sự kiện xảy ra khi chuột đƣợc thả trên Form  
Sự kiện xảy ra khi thay đổi kích thƣớc Form  
Sự kiện xảy ra khi đang đóng Form  
Closing  
Bảng 4.2: Một số sự kiện của Form  
4.2.5. Phƣơng thức ca Form  
Phƣơng thức  
Mô tả  
125  
Tập bài giảng Lập trình cơ bản  
Show  
Đƣợc sử dụng để xuất hiện một Form bằng cách thiết lập thuộc  
tính Visible của Form ấy là true  
ShowDialog  
Hiển thị Form dạng modal (không cho phép dùng Form khác khi  
trừ khi nó đƣợc đóng lại)  
Close  
Hide  
Dùng để đóng một Form  
Dùng để ẩn một Form  
Bảng 4.3: Một số phương thức của Form  
Ví dụ 4.5: Các sự kiện và phƣơng thức của Form  
Yêu cầu:  
- Tạo Form nhƣ mẫu sau:  
Hình 4.16: Giao diện Form ví dụ 4.5  
- Viết các thông báo cho các sự kiện Load(), Closing(), Resize(), Closed()  
- Khi kích chuột vào nút ―Hiện Form‖: Hiển thị 1 Form mới  
- Khi kích chuột vào nút ―Ẩn Form‖: Ẩn Form vừa mở  
- Khi kích chuột vào nút ―Hiện Form dạng modal‖: MForm dƣới dạng modal  
- Khi kích chuột vào nút ―Đóng Form‖: Đóng Form.  
Bƣớc 1: Tạo Form đặt tên là frmVidu4_5  
STT  
Đối tƣợng  
Thuộc tính  
Name  
Giá trị  
frmVidu4_5  
1
Form  
Text  
Ví dụ 4_5  
Text  
Một số phƣơng thức của  
2
3
Label  
Form  
Name  
Text  
btHien  
Button  
Hiện Form  
126  
Tập bài giảng Lập trình cơ bản  
STT  
Đối tƣợng  
Button  
Thuộc tính  
Name  
Text  
Giá trị  
btAn  
4
Ẩn Form  
Name  
Text  
btHienModal  
Hiện Form dạng modal  
btDong  
5
6
Button  
Button  
Name  
Text  
Đóng Form  
Bƣớc 2: Viết mã lệnh cho các sự kiện của Form  
private void frmVidu4_5_Load(object sender, EventArgs e)  
{
MessageBox.Show("Form được load");  
}
private void frmVidu4_5_MouseClick(object sender, MouseEventArgs e)  
{
MessageBox.Show("Form vừa được kích chut");  
}
private void frmVidu4_5_FormClosed(object sender, FormClosedEventArgs e)  
{
MessageBox.Show("Form đã đóng");  
}
private void frmVidu4_5_FormClosing(object sender,FormClosingEventArgs e)  
{
MessageBox.Show("Form đang đóng");  
}
Bƣớc 3: Viết mã lệnh cho sự kiện Click của các nút trên Form:  
Form frm = new Form();//Khai báo đối tượng Form frm sdng trong các sự  
kin click ca các nút  
private void btHien_Click(object sender, EventArgs e)  
{
frm.Show();  
}
private void btAn_Click(object sender, EventArgs e)  
{
frm.Hide();  
}
private void btDong_Click(object sender, EventArgs e)  
{
frm.Close();  
}
private void btHienModal_Click(object sender, EventArgs e)  
{
127  
Tập bài giảng Lập trình cơ bản  
frm.ShowDialog();  
}
Trong ví dụ trên có sử dụng lớp MessageBox và phƣơng thức tĩnh Show() của  
lớp này để hiển thị một hộp thoại thông báo, chi tiết về lớp MessageBox sẽ đƣợc giới  
thiệu trong phần 4.4.3. Điều khiển Dialog.  
4.3. Mt số điều khin thông dng  
4.3.1. Các thuc tính và skin chung  
Hầu hết các điều khiển trên Form đều có một số thuộc tính chung nhƣ trong  
bảng 4.4:  
Thuộc tính  
BackColor  
Enabled  
Mô tả  
Màu nền của điều khiển.  
Điều khiển đƣợc phép tƣơng tác (true) hay không đƣợc phép tƣơng  
tác (false) với ngƣời dùng.  
ForeColor  
Name  
Màu chữ của điều khiển.  
Tên của điều khiển.  
Text  
Nội dung chuỗi hiển thị trên điều khiển.  
Cho phép điều khiển hiện (True) / không hiện (False) khi chạy ứng  
dụng.  
Visible  
Width  
Height  
Là chiều rộng của điều khiển tính từ cạnh trái của điều khiển đến  
cạnh phải của điều khiển.  
Là chiều cao của điều khiển tính từ cạnh trên của điều khiển đến  
cạnh dƣới của điều khiển.  
Bảng 4.4: Một số thuộc tính chung của các điều khiển  
Các sự kiện chung thƣờng sử dụng của các điều khiển đƣợc trình bày trong  
bảng 4.5.  
Sự kiện  
Click  
Mô tả  
Xảy ra khi điều khiển bị kích chuột. Trong một vài điều khiển,  
event này cũng xảy ra khi nhấn phím Enter.  
MouseDown  
MouseMove  
MouseUp  
Xảy ra khi kích chuột trái nhƣng chƣa thả ra.  
Xảy ra đến khi con trỏ chuột đi qua 1 điều khiển.  
Xảy ra khi kích chuột trái và thả ra.  
KeyDown  
Xảy ra khi vừa bấm một phím bất kỳ từ 1 điều khiển đang đƣợc  
chọn.Sự kiện này luôn đƣợc gọi trƣớc sự kiện KeyUp.  
Xảy ra khi vừa bấm một phím bất kỳ từ 1 điều khiển đang đƣợc  
chọn. Sự kiện này đƣợc gọi sau sự kiện KeyUp.  
KeyPress  
KeyUp  
Xảy ra khi vừa bấm một phím bất kỳ rồi thả ra từ 1 điều khiển  
128  
Tập bài giảng Lập trình cơ bản  
đang đƣợc chọn. Sự kiện này luôn đƣợc gọi sau sự kiện KeyDown.  
Bảng 4.5: Một số sự kiện chung của các điều khiển  
4.3.2. Nhóm điều khin Label  
1. Label  
- Công dụng: Hiển thị chuỗi ký tự.  
- Thuộc tính:  
Thuộc tính  
tả  
AutoSize  
Điều chỉnh kích thƣớc đối tƣợng cho vừa với chiều dài  
chuỗi ký tự  
Font  
Kiểu và kích thƣớc của chữ trình bày trên điều khiển  
Canh lề (Left / Center / Right)  
Bảng 4.6: Một số thuộc tính của Label  
TextAlign  
Chẳng hạn, thiết kế Form dạng đăng nhập, bên cạnh các điều khiển yêu cầu  
nhập họ tên sinh viên, mã sinh viên, lớp, Form chứa các điều khiển Label:―Họ tên  
SV‖, ―Mã SV‖, ―ĐĂNG NHẬP‖, ―Lớp‖ nhƣ hình 4.17.  
Hình 4.17: Sử dụng điều khiển Label.  
2. LinkLabel  
- Công dụng: ngoài chức năng hiển thị chuỗi thì điều khiển LinkLabel cho  
phép liên kết đến địa chỉ Internet hoặc Email.  
- Thuộc tính:  
Thuộc tính  
LinkArea  
Mô tả  
Vùng liên kết theo chiều dài và ký tự bắt đầu  
Trạng thái của liên kết, mặc định là SystemDefault, có thể  
LinkBehavior  
chọn:  
AllwasUnderline,  
HoverUnderline  
hay  
NeverUnderline.  
129  
Tập bài giảng Lập trình cơ bản  
LinkColor  
Màu của liên kết  
VisitedLinkColor Màu của liên kết sau khi đã chọn  
Bảng 4.7: Các thuộc tính của LinkLabel  
- Sự kiện:  
Sự kiện  
Mô tả  
LinkClicked  
DoubleClick  
Xảy ra khi kích chuộttrên điều khiển LinkLabel  
Xảy ra khi kích chuột hai lần trên điều khiển LinkLabel  
Bảng 4.8: Các sự kiện của LinkLabel  
Ví dụ 4.6: Điều khiển LinkLabel  
Yêu cầu:  
- Tạo Form theo mẫu:  
Hình 4.18: Ví dụ về điều khiển LinkLabel.  
- Khi kích chuột vào điều khiển LinkLabel sẽ chuyển tới địa chỉ trang  
https://www.google.com.vn/ trên trình duyệt nhƣ hình sau:  
Hình 4.19: Hiển thị trang https://www.google.com.vn/ trên trình duyệt web  
Hướng dẫn thực hiện  
130  
Tập bài giảng Lập trình cơ bản  
Bƣớc 1: Tạo Form và đặt tên là frmVidu4_6, them điều khiển LinkLabel  
vào trong Form.  
STT  
Đối tƣợng  
Form  
Thuộc tính  
Name  
Giá trị  
frmVidu4_6  
1
Text  
Điều khiển LinkLabel  
linkLabel1  
Text  
2
LinkLabel  
Name  
Bƣớc 2: Viêt khai báo liên kết cho điều khiển LinkLabel trong sự kiện  
frmVidu4_6_Load.  
private void frmVidu4_6_Load(object sender, EventArgs e)  
{
this.linkLabel1.Links.Add(0,100,‛https://www.google.com.vn");  
} //Thêm mt liên kết mới vào đối tương linkLabel1.  
Bƣớc 3: Kích chuột hai lần vào điều khiển linkLabel1 để sinh sự kiện  
LinkClicked và thực hiện thêm đoạn mã lệnh sau vào sự kiện này.  
private void linkLabel1_LinkClicked(object sender,  
LinkLabelLinkClickedEventArgs e)  
{
string strURL = Convert.ToString(e.Link.LinkData);  
if (strURL.StartsWith(@"https://www"))  
Process.Start(strURL);//thc thi mt ng dng ngoài, cho phép xem mt tài liu  
hay mt trang web  
}
// Sdng thêm không gian tên System.Diagnostics;  
Bƣớc 4: Nhấn F5 để chạy chƣơng trình.  
4.3.3. Nhóm điều khin TextBox  
1. Textbox  
- Công dụng: Dùng để nhập và hiển thị văn bản.  
- Thuộc tính:  
Thuộc tính  
Text  
Mô tả  
Xác định chuỗi hiển thị của TextBox  
Cho phéphiển thị văn bản trên nhiều dòng.  
Thuộc tính này cho phép lấy một ký tự làm đại diện cho  
tất cả các ký tự khác đƣợc nhập vào  
Bảng 4.9: Một số thuộc tính của TextBox  
Multiline  
PasswordChar  
- Sự kiện:  
Sự kiện  
Mô tả  
TextChanged  
Xảy ra khi chuỗi trên điều khiển thay đổi  
131  
Tập bài giảng Lập trình cơ bản  
MouseClick  
Xảy ra khi kích chuột trên điều khiển TextBox  
MultilineChanged Xảy ra khi thuộc tính Multiline thay đổi giá trị từ True  
sang False hay ngƣợc lại.  
Bảng 4.10: Một số sự kiện của TextBox  
Ví dụ 4.7: Điều khiển TextBox  
Yêu cầu:  
- Tạo Form theo mẫu sau:  
Hình 4.20: Ví dụ về điều khiển TextBox  
- Các nhãn: ―Tên đăng nhập‖, ―Mật khẩu‖, ―Mô tả‖  
- Các điều khiển để nhập tên đăng nhập, mật khẩu và mô tả là các Textbox  
Lập trình cho các sự kiện:  
- Kích chuộtvào nút ―Đăng nhập‖: Kiểm tra xem tên đăng nhập có phải là  
―abcde‖ và mật khẩu là ―12345‖ hay không và sẽ đƣa ra thông báo là  
đăng nhập thành công hay thất bại  
- Kích chuột vào nút ―Xóa‖: Thực hiện xóa nội dung của các điều khiển  
TextBox  
- Kích chuột vào nút ―Thoát‖: Thực hiện đóng Form.  
- Nếu TextBox tên đăng nhập là rỗng thì nút ―Đăng nhập‖ bị vô hiệu hóa,  
ngƣợc lại cho phépkiểm tra khi kích chuột vào nút ―Đăng nhập‖.  
Hướng dẫn thực hiện  
Bƣớc 1: Tạo Form và đặt tên là frmVidu4_7, thêm các điều khiển TextBox  
và Button  
vào trong Form.  
STT  
Đối tƣợng  
Thuộc tính  
Name  
Giá trị  
frmVidu4_7  
1
Form  
Text  
Điều khiển TextBox  
True  
Multiline  
Name  
2
3
TextBox  
TextBox  
txtMota  
PasswordChar *  
132  
Tập bài giảng Lập trình cơ bản  
STT  
Đối tƣợng  
Thuộc tính  
Name  
Name  
Text  
Giá trị  
txtMatkhau  
4
5
TextBox  
Button  
txtTendangnhap  
Đăng nhập  
btDangnhap  
Xóa  
Name  
Text  
6
7
Button  
Button  
Name  
Text  
btXoa  
Thoát  
Name  
Text  
btThoat  
8
9
Label  
Label  
Tên đăng nhập  
Mật khẩu  
Mô tả  
Text  
10 Label  
Text  
Bƣớc 2: Viết mã lệnh cho sự kiện Vidu4_7_Load  
private void Vidu4_7_Load(object sender, EventArgs e)  
{
btDangnhap.Enabled = false;  
}
Bƣớc 3: Viết mã lệnh cho các sự kiện Click của các nút Đăng nhập, nút Thoát  
và nút Xóa  
private void btThoat_Click(object sender, EventArgs e)  
{
this.Close();  
}
private void btXoa_Click(object sender, EventArgs e)  
{
txtMatkhau.Clear();//Xóa ni dung ca TextBox  
txtTendangnhap.ResetText();//Gán giá trthuc tính Text bng giá  
trmặc đnh  
}
private void btDangnhap_Click(object sender, EventArgs e)  
{
if (txtTendangnhap.Text == "abcde" && txtMatkhau.Text == "12345")  
MessageBox.Show("Đăng nhập thành công");  
else MessageBox.Show("Đăng nhập tht bi");  
}
Bƣớc 4: Viết mã lệnh cho sự kiện TextChanged của txtTendangnhap, nếu có ký  
tự đƣợc nhập vào thì nút ―Đăng nhập‖ có thuộc tính Enabled là True, ngƣợc lại  
sẽ là False  
private void txtTendangnhap_TextChanged(object sender, EventArgs e)  
{
if (txtTendangnhap.Text != "") btDangnhap.Enabled = true;  
133  
Tập bài giảng Lập trình cơ bản  
else btDangnhap.Enabled = false;  
}
Ví dụ 4.8: Chƣơng trình tìm ƣớc chung lớn nhất, bội chung nhỏ nhất:  
Yêu cầu:  
- Tạo Form theo mẫu sau:  
Hình 4.21: Giao diện ví dụ 4.8.  
- Các điều khiển để nhập số thứ nhất, số thứ 2, UCLN và BCNN là các TextBox  
- Các nhãn: ―UCLN, BCNN‖, ―Nhập số 1‖, ―Nhập số 2‖.  
- Khi kích chuột vào nút ―UCLN‖: Thực hiện tính và hiển thị ƣớc chung lớn nhất  
của 2 số nguyên dƣơng đƣợc nhập vào.  
- Khi kích chuột vào nút ―BCNN‖: Thực hiện tính bội chung nhỏ nhất của 2 số  
nguyên dƣơng đƣợc nhập vào.  
- Trong sự kiệnkích chuột của hai nút có kiểm tra dữ liệu của 2 số nhập vào có  
phải là 2 số nguyên dƣơng không, nếu không phải đƣa ra thông báo dữ liệu  
không hợp l.  
Hướng dẫn thực hiện:  
Bƣớc 1: Tạo Form và đặt tên là frmVidu4_8, thêm các điều khiển vào trong  
Form.  
STT  
Đối tƣợng  
Form  
Thuộc tính  
Name  
Text  
Giá trị  
frmVidu4_8  
1
Tìm ƢCLN, BCNN  
txtSo1  
2
3
4
5
TextBox  
TextBox  
TextBox  
TextBox  
Name  
Name  
Name  
Name  
Text  
txtSo2  
txtUCLN  
txtBCNN  
UCLN  
6
7
Button  
Button  
Name  
Text  
btUCLN  
BCNN  
134  
Tập bài giảng Lập trình cơ bản  
STT  
Đối tƣợng  
Thuộc tính  
Name  
Text  
Giá trị  
btBCNN  
Nhập số 1  
Nhập số 2  
8
9
Label  
Label  
Text  
Text  
UCLN, BCNN  
Font  
Times New Roman  
10 Label  
Font style  
Size  
Bold  
22  
Bƣớc 2: Xây dựng các hàm kiểm tra dữ liệu và hàm tìm ƢCLN.  
private bool Kiemtra()  
{
int so1, so2;  
bool kt1, kt2;  
kt1 = int.TryParse(txtSo1.Text, out so1);  
kt2 = int.TryParse(txtSo2.Text, out so2);  
return kt1 && kt2 && so1 >0 && so2 >0;  
}
private int UCLN(int n, int m)  
{
int du;  
do  
{
du = n % m;  
n = m;  
m = du;  
} while (du != 0);  
return n;  
}
Bƣớc 3: Viết mã lệnh cho sự kiện kích chuột của các nút ―UCLN‖ và nút  
―BCNN‖  
private void btUCLN_Click(object sender, EventArgs e)  
{
if (Kiemtra())  
{
int so1, so2;  
so1 = int.Parse(txtSo1.Text);  
so2 = int.Parse(txtSo2.Text);  
txtUCLN.Text = UCLN(so1, so2).ToString();  
}
else  
MessageBox.Show("Dữ  
liu  
không  
hp  
l","Thông  
báo",  
MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);  
}
135  
Tải về để xem bản đầy đủ
pdf 83 trang yennguyen 09/04/2022 9800
Bạn đang xem 20 trang mẫu của tài liệu "Tập bài giảng Lập trình cơ bản (Phần 2) - Nguyễn Thế Vinh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdftap_bai_giang_lap_trinh_co_ban_phan_2_nguyen_the_vinh.pdf