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: 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
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 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
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 và 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. 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
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 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
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‖: 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
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 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
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 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
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ướ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 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
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 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
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ữ
liệu
không
hợp
lệ","Thông
báo",
MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
}
135
Tải về để xem bản đầy đủ
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:
- tap_bai_giang_lap_trinh_co_ban_phan_2_nguyen_the_vinh.pdf