Xem mẫu
- Tập bài giảng Lập trình cơ bản
CHƢƠNG 4: LẬP 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 và 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. Giới thiệu về lập 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 việc với Form
4.2.1. Một số khái niệm
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í dụ 4_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 và 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 , giữ chuột và kéo vào Form1
nhƣ hình 4.7:
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 từ Toolbox vào Form1, thực hiện các thiết lập
thuộc tính chon button1 nhƣ sau:
Name:btThoat
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 loại 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. Thuộc tính của 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 là Form1
Backcolor Thuộc tính xác định màu nền của Form
BackgroundImage Thuộc tính xác định hình nền cho Form
Font Thuộc tính xác định kiểu, kích thƣớc và loại font đƣợc hiển
thị trên Form và trong những điều khiển trong Form
Size Kích thƣớc của Form bao gồm: Width và Height
Start Position 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ó
- 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.
Text Xác định tiêu đề của Form
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. Sự kiện 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
Closed Sự kiện này xảy ra khi một Form đƣợc đóng lại
Deactivate Sự kiện xảy ra khi một Formbị mất trạng thái sử dụng
Load Sự kiện xảy ra khi một Formđƣợc tải trong bộ nhớ cho lần đầu tiên.
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 Sự kiện xảy ra khi chuột đƣợc thả trên Form
Resize Sự kiện xảy ra khi thay đổi kích thƣớc Form
Closing Sự kiện xảy ra khi đang đóng Form
Bảng 4.2: Một số sự kiện của Form
4.2.5. Phƣơng thức của 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 Dùng để đóng một Form
Hide 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‖: Mở Form 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 Giá trị
Name frmVidu4_5
1 Form
Text Ví dụ 4_5
Text Một số phƣơng thức của
2 Label
Form
Name btHien
3 Button
Text Hiện Form
126
- Tập bài giảng Lập trình cơ bản
STT Đối tƣợng Thuộc tính Giá trị
Name btAn
4 Button
Text Ẩn Form
Name btHienModal
5 Button
Text Hiện Form dạng modal
Name btDong
6 Button
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 chuột");
}
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 sử dụng trong các sự
kiện click của 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. Một số điều khiển thông dụng
4.3.1. Các thuộc tính và sự kiện 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 Mô tả
BackColor Màu nền của điều khiển.
Enabled Đ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 Màu chữ của điều khiển.
Name Tên của điều khiển.
Text Nội dung chuỗi hiển thị trên điều khiển.
Visible Cho phép điều khiển hiện (True) / không hiện (False) khi chạy ứng
dụng.
Width 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.
Height 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 Mô tả
Click 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 Xảy ra khi kích chuột trái nhƣng chƣa thả ra.
MouseMove Xảy ra đến khi con trỏ chuột đi qua 1 điều khiển.
MouseUp 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.
KeyPress 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.
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 khiển Label
1. Label
- Công dụng: Hiển thị chuỗi ký tự.
- Thuộc tính:
Thuộc tính Mô 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
TextAlign Canh lề (Left / Center / Right)
Bảng 4.6: Một số thuộc tính của Label
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 Mô tả
LinkArea Vùng liên kết theo chiều dài và ký tự bắt đầu
LinkBehavior Trạng thái của liên kết, mặc định là SystemDefault, có thể
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 Xảy ra khi kích chuộttrên điều khiển LinkLabel
DoubleClick 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 Thuộc tính Giá trị
Name frmVidu4_6
1 Form
Text Điều khiển LinkLabel
Text https://www.google.com.vn
2 LinkLabel
Name linkLabel1
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 một 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);//thực thi một ứng dụng ngoài, cho phép xem một tài liệu
hay một trang web
}
// Sử dụng 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 khiển 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 Mô tả
Text Xác định chuỗi hiển thị của TextBox
Multiline Cho phéphiển thị văn bản trên nhiều dòng.
PasswordChar 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
- 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 Giá trị
Name frmVidu4_7
1 Form
Text Điều khiển TextBox
Multiline True
2 TextBox
Name txtMota
3 TextBox PasswordChar *
132
- Tập bài giảng Lập trình cơ bản
STT Đối tƣợng Thuộc tính Giá trị
Name txtMatkhau
4 TextBox Name txtTendangnhap
Text Đăng nhập
5 Button
Name btDangnhap
Text Xóa
6 Button
Name btXoa
Text Thoát
7 Button
Name btThoat
8 Label Text Tên đăng nhập
9 Label Text Mật khẩu
10 Label Text Mô tả
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 nội dung của TextBox
txtTendangnhap.ResetText();//Gán giá trị thuộc tính Text bằng giá
trị mặ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 thất bại");
}
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 Thuộc tính Giá trị
Name frmVidu4_8
1 Form
Text Tìm ƢCLN, BCNN
2 TextBox Name txtSo1
3 TextBox Name txtSo2
4 TextBox Name txtUCLN
5 TextBox Name txtBCNN
Text UCLN
6 Button
Name btUCLN
7 Button Text BCNN
134
- Tập bài giảng Lập trình cơ bản
STT Đối tƣợng Thuộc tính Giá trị
Name btBCNN
8 Label Text Nhập số 1
9 Label Text Nhập số 2
Text UCLN, BCNN
Font Times New Roman
10 Label
Font style Bold
Size 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ữ liệu không hợp lệ","Thông báo",
MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
}
135
nguon tai.lieu . vn