Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Pdf bai tap_lap_trinh_win_form - mon_1-mastercode.vn
1. TRUNG TÂM TIN H C – I H C KHOA H C T NHIÊN TP.HCM
227 Nguy n Văn C - Qu n 5- Tp.H Chí Minh
Tel: 8351056 – Fax 8324466 – Email: ttth@hcmuns.edu.vn
Mã tài li u: DT_NCM_HP3_BT_LTUDC#
Phiên b n 1.0 – Tháng 4/2009
BÀI T P
CHƯƠNG TRÌNH K THU T VIÊN
NGÀNH L P TRÌNH
H c ph n 3
L P TRÌNH NG D NG
WINDOWS FORMS V I C#
- Môn 1 -
2. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 2/52
BÀI 1: Gi i Thi u L p Trình Windows Forms
S D ng C#
Giúp h c viên n m rõ ý nghĩa cũng như l i ích c a vi c s d ng Windows From trong
môi trư ng C#.
1.1. T o Form ơn gi n b ng l nh
M c tiêu: Làm quen v i vi c t o m t form ơn gi n thông qua khai báo và cài t các l nh x lý.
Công vi c th c hi n:
1. S d ng Visual Studio, t o m t ng d ng d ng Console v i tên là My_First_Form
2. T o tham chi u (references) n 2 thư vi n: System.Drawing và System.Windows.Forms
3. Xóa class Program ra kh i ng d ng.
4. T o m t class m i có tên FormApp k th a t class Form v i các khai báo như sau:
using System.Windows.Forms;
using System.Drawing;
class FormApp: Form
{
public static void Main(string[] args)
{
FormApp myform = new FormApp();
myform.BackColor = Color.LightGray;
myform.Text = "My First Form !";
myform.SizeGripStyle = SizeGripStyle.Show;
Application.Run(myform);
}
}
5. Th c thi ng d ng và ghi nh n k t qu :
(hình 1.1)
1.2. T o form ơn gi n b ng l nh (cách 2)
M c tiêu: Làm quen v i vi c t o m t form ơn gi n thông qua khai báo và cài t các l nh x lý.
Công vi c th c hi n:
1. S d ng Visual Studio, t o m t ng d ng d ng Console v i tên là My_First_Form_2
2. T o tham chi u (references) n 2 thư vi n: System.Drawing và System.Windows.Forms
3. T o m t class m i có tên FormApp k th a t class Form v i các khai báo như sau:
3. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 3/52
using System.Windows.Forms;
using System.Drawing;
class FormApp: Form
{
public FormApp()
{
this.BackColor = Color.LightGray;
this.Text = "My Second Form !";
this.SizeGripStyle = SizeGripStyle.Show;
}
}
4. Trong phương th c Main c a class Program, khai báo l nh g i Form như sau:
static void Main(string[] args)
{
Application.Run(new FormApp());
}
5. Th c thi ng d ng và ghi nh n k t qu :
(hình 1.2)
1.3. T o form có i u khi n b ng l nh
M c tiêu: Làm quen v i vi c t o m t form có i u khi n thông qua khai báo và cài t các l nh x lý.
Công vi c th c hi n:
1. S d ng Visual Studio, t o m t ng d ng d ng Console v i tên là Them_control_vao_form (có th
s d ng l i ng d ng trong bài 1.2)
2. T o tham chi u (references) n 2 thư vi n: System.Drawing và System.Windows.Forms
3. T o m t class m i có tên FormApp k th a t class Form v i các khai báo như sau:
using System.Windows.Forms;
using System.Drawing;
class FormApp: Form
{
public FormApp()
{
this.BackColor = Color.LightGray;
this.Text = "My Third Form !";
this.SizeGripStyle = SizeGripStyle.Show;
this.StartPosition = FormStartPosition.CenterScreen;
Label myLabel = new Label();
myLabel.Text = " ng d ng ư c kh i ng lúc: " +
DateTime.Now.ToString();
myLabel.AutoSize = true;
myLabel.Left = 50;
myLabel.Top = 20;
this.Width = myLabel.PreferredWidth + 100;
this.Height = 100;
4. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 4/52
this.Controls.Add(myLabel);
}
}
4. Trong phương th c Main c a class Program, khai báo l nh g i Form.
5. Th c thi ng d ng và ghi nh n k t qu
(hình 1.3)
1.4. T o form có i u khi n và các s ki n
M c tiêu: Làm quen v i vi c t o m t form có i u khi n cũng như cài t các s ki n cho các i u
khi n thông qua khai báo và cài t các l nh x lý.
Công vi c th c hi n:
1. S d ng Visual Studio, t o m t ng d ng d ng Console v i tên là Form_control_event (có th s
d ng l i ng d ng trong bài 1.3)
2. T o tham chi u (references) n 2 thư vi n: System.Drawing và System.Windows.Forms
3. Khai báo các l nh c n thi t thi t k Form có d ng như sau:
(hình 1.4a)
Khai báo TextBox và nút l nh Xu t câu chào:
TextBox myText = new TextBox();
myText.Name = "txtHoTen";
myText.Width = 150;
myText.Top = 20;
myText.Left = myLabel.PreferredWidth + 60;
Button myButton = new Button();
myButton.Name = "btnXuat";
myButton.Text = "Xu t câu chào";
myButton.Width = 100;
myButton.Top = 60;
myButton.Left = (int)this.Width/2 - 50;
4. Khai báo phương th c x lý cho s ki n Click c a nút l nh xu t thông báo như sau:
protected void btnXuat_Click(object sender, EventArgs e)
{
MessageBox.Show("Xin chào " +
((TextBox)this.Controls["txtHoTen"]).Text);
}
5. G n phương th c btnXuat_Click cho s ki n Click c a nút l nh:
5. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 5/52
myButton.Click += new EventHandler(this.btnXuat_Click);
6. Trong phương th c Main c a class Program, khai báo l nh g i Form.
7. Th c thi ng d ng và ghi nh n k t qu
(hình 1.4b) (hình 14c)
6. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 6/52
BÀI 2: Các Control Chu n
Giúp h c viên hi u rõ v ý nghĩa cũng như cách s d ng các i u khi n chu n trong C#
- S d ng Visual Studio, t o m t ng d ng d ng Windows Application cho bài 2 v i tên là
prjBai_tap_02 ch a các Form trong bài 2
2.1. Thông tin ăng nh p
M c tiêu: Giúp h c viên n m rõ cách s d ng i u khi n TextBox và Button
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_02_01_Dang_nhap và thi t k theo d ng sau:
(hình 2.1)
2. Khai báo bi n danh sách ch a danh sách ngư i dùng ư c phép ăng nh p h th ng g m: Tên
ăng nh p, m t kh u (s d ng HashTable)
Hashtable ds_dn = new Hashtable();
3. Khi m i m Form, kh i t o danh sách ngư i dùng ư c phép ăng nh p vào h th ng.
ds_dn.Add("phuong","123456");
ds_dn.Add("anh", "789123");
ds_dn.Add("vu", "456789");
ds_dn.Add("tung", "234567");
4. X lý khi nh n nút ăng nh p:
string user = txtNguoi_dung.Text;
// N u ngư i dùng không có trong danh sách
if (ds_dn.ContainsKey(user)==false)
{
MessageBox.Show("Ngư i dùng " + user + " không t n t i!");
}
else
{ // Ki m tra ti p m t kh u
string pwd = txtMat_khau.Text;
if(ds_dn[user].ToString()==pwd)
MessageBox.Show("Chào m ng ăng nh p thành công!");
else
MessageBox.Show("M t kh u không h p l ");
}
5. X lý khi nh n nút thoát
This.Close()
7. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 7/52
2.2. Thông tin khách hàng
M c tiêu: Giúp h c viên n m rõ cách s d ng i u khi n TextBox, MaskedTextBox và Button
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_02_02_Thong_tin_khach_hang và thi t k theo d ng sau:
S d ng TextBox nh p H tên và a ch khách hàng
S d ng MaskedTextBox nh d ng d li u nh p cho Ngày sinh, i n tho i bàn và i n
tho i di ng
(hình 2.1a)
2. X lý cho nút l nh Xu t thông tin: khi nh n nút Xu t thông tin, s d ng MessageBox xu t ra
thông tin ư c nh p trên Form theo d ng sau:
(hình 2.1b)
2.3. S thích cá nhân
M c tiêu: Giúp h c viên n m rõ cách s d ng i u khi n CheckBox và RadioButton.
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_02_03_So_thich_ca_nhan và thi t k theo d ng sau:
S d ng CheckBox t o các l a ch n v s thích
S d ng RadioButton t o các l a ch n v màu s c
8. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 8/52
(hình 2.3a)
2. X lý cho nút l nh Thông tin b n ch n: khi nh n nút Thông tin b n ch n, s d ng MessageBox
xu t ra thông tin v s thích và màu s c yêu thích ư c ch n trên Form theo d ng sau:
(hình 2.3b)
2.4. nh d ng văn b n
M c tiêu: Giúp h c viên n m rõ cách ph i h p s d ng các i u khi n.
Yêu c u th c hi n:
1. T o m i Form v i tên là Bai_02_04_Dinh_dang và thi t k theo d ng sau:
S d ng TextBox t o ô nh p n i dung văn b n
S d ng CheckBox t o các ch c năng nh d ng
S d ng RadioButton t o các ch c năng canh l (trái, gi a và ph i), s d ng thu c tính
Appearance thay i hình d ng c a RadioButton.
(hình 2.4)
2. Cài t x lý cho các ch c năng:
CheckBox Visible: Khi thay i tr ng thái ch n, x lý Hi n th / n TextBox ch a n i dung tùy
9. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 9/52
theo giá tr c a CheckBox là True/False
CheckBox Multiline: Khi thay i tr ng thái ch n, cho phép TextBox ch a n i dung trên nhi u
dòng hay m t dòng tùy theo giá tr c a CheckBox là True/False
CheckBox WordWrap: Khi thay i tr ng thái ch n, cho phép TextBox ch a n i dung s t
ng xu ng dòng hay không t ng xu ng dòng khi dài c a 1 dòng vư t quá chi u r ng
c a TextBox tùy theo giá tr c a CheckBox là True/False
Các RadioButton canh l : Khi thay i tr ng thái ch n, th c hi n canh l n i dung văn b n
theo nh d ng ư c ch n.
2.5. Tìm th trong tu n
M c tiêu: Giúp h c viên n m rõ cách s d ng i u khi n ComboBox
Yêu c u th c hi n:
1. T o m i Form v i tên là Bai_02_05_Thu_trong_tuan và thi t k theo d ng sau:
(hình 2.5)
2. Cài t x lý cho các ch c năng:
Khi m i m Form, th c hi n t o danh sách giá tr cho các ComboBox Ngày, Tháng và Năm:
• ComboBox ngày: li t kê các giá tr t 01 → 31.
• ComboBox tháng: li t kê các giá tr t 01 → 12.
• ComboBox năm: li t kê các giá tr t năm hi n hành tr v trư c 10 năm n sau năm
hi n hành 10 năm (ví d năm hi n hành là 2009 thì giá tr c a ComboBox năm s t năm
1999 → 2019)
Khi nh n nút “Tìm th trong tu n”, th c hi n ki m tra xem giá tr ngày, tháng, năm ư c ch n
có h p l hay không:
• N u h p l thì cho bi t ngày tháng năm ư c ch n là ngày th m y trong tu n
• N u không h p l thì xu t thông báo l i c th .
2.6. Ch n món ăn
M c tiêu: Giúp h c viên n m rõ cách s d ng i u khi n ListBox
Yêu c u th c hi n:
1. T o m i Form v i tên là Bai_02_06_Dat_tiec và thi t k theo d ng sau:
10. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 10/52
(hình 2.6a)
2. Cài t x lý cho các ch c năng:
Khi m i m Form:
• Kh i t o danh sách các món ăn cùng v i ơn giá c a t ng món.
• ưa d li u vào ListBox th c ơn ti c như hình 2.6a
Nút > : chuy n các món ăn ang ch n danh sách Th c ơn ti c sang Danh sách món ăn
ch n (hình 2.6b)
Nút >>: chuy n h t các món ăn danh sách Th c ơn ti c sang Danh sách món ăn ch n
Nút <: chuy n các món ăn ang ch n Danh sách món ăn ch n sang Th c ơn ti c
Nút <<: chuy n t t c các món ăn Danh sách món ăn ch n sang Th c ơn ti c.
Nút Tính ti n: tính s ti n c n thanh toán b ng cách c ng ơn giá c a các món ăn ã ư c
ch n trên ListBox Danh sách món ăn ch n và xu t ra thông báo chi ti t t ng món như hình
2.6c
(hình 2.6b) (hình 2.6c)
11. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 11/52
2.7. nh d ng văn b n m r ng
M c tiêu: Giúp h c viên n m rõ cách s d ng i u khi n RichTextBox nh d ng d li u.
Yêu c u th c hi n:
1. T o m i Form v i tên là Bai_02_07_Dinh_dang_mo_rong và thi t k theo d ng sau (s d ng
RichTextBox nh p n i dung văn b n):
(hình 2.7a)
2. Cài t x lý cho các ch c năng:
Khi m i m Form, th c hi n:
• T o d li u cho ComboBox Font: ch a t t c các Font ch c a h th ng.
• T o d li u cho ComboBox Size: ch a các giá tr t 8 → 72.
• T o giá tr m c nh là Font Tahoma, Size 12
Khi thay i Font ch trên ComboBox Font: th c hi n thay i Font ch cho vùng văn b n
ang ư c ánh d u ch n trong TextBox. N u không có vùng văn b n nào ư c ánh d u
ch n s thay i Font ch cho toàn b văn b n trong TextBox.
Khi thay i kích thư c trên ComboBox Size: th c hi n thay i kích thư c ch cho vùng văn
b n ang ư c ánh d u ch n trong TextBox. N u không có vùng văn b n nào ư c ánh d u
ch n s thay i kích thư c ch cho toàn b văn b n trong TextBox.
Nút : Khi ch n, tùy thu c vào tr ng thái c a nút x lý n i dung c a vùng văn b n ang
ư c ch n có ư c in m hay không.
Nút : Khi ch n, tùy thu c vào tr ng thái c a nút x lý n i dung c a vùng văn b n ang
ư c ch n có ư c in nghiêng hay không.
Nút : Khi ch n, tùy thu c vào tr ng thái c a nút x lý n i dung c a vùng văn b n ang
ư c ch n có ư c ng ch dư i hay không.
Nút : Khi ch n, th c hi n canh l trái cho vùng văn b n ư c ch n trong TextBox.
Nút : Khi ch n, th c hi n canh gi a cho vùng văn b n ư c ch n trong TextBox.
Nút : Khi ch n, th c hi n canh l ph i cho vùng văn b n ư c ch n trong TextBox.
12. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 12/52
(hình 2.7b)
2.8. C p h c b ng
M c tiêu: Giúp h c viên n m rõ cách s d ng i u khi n ListView.
Yêu c u th c hi n:
1. T o m i Form v i tên là Bai_02_08_Cap_hoc_bong và thi t k theo d ng sau (s d ng ListView
li t kê danh sách h c sinh):
(hình 2.8)
2. Cài t x lý cho các ch c năng:
Khi m i m Form, th c hi n:
• T o danh sách cho ComboBox L p (ví d : L p 10A1, 10A2, …).
• T o danh sách cho ComboBox Lo i h c t p, g m các lo i: Xu t s c, Gi i, Khá.
• T o m t danh sách các h c sinh (ArrayList) v i các giá tr tùy ý, thông tin c a m t h c sinh
bao g m: H tên, Trư ng, L p, Lo i h c t p, H c b ng
• Xu t danh sách h c sinh trong ArrayList ra ListView.
• Xu t thông tin c a h c sinh u tiên trong danh sách ra ph n Thông tin h c sinh.
ComboBox Lo i h c t p: Khi ch n Lo i h c t p s xu t M c h c b ng tương ng như sau ( nh
13. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 13/52
d ng M c h c b ng theo d ng 1,000VN ):
• Xu t s c: 500,000
• Gi i: 300,000
• Khá: 100,000
Nút Thêm: khi ch n, th c hi n:
• Xóa r ng các ô nh p Thông tin h c sinh
• T o giá tr m c nh cho Lo i h c t p là Xu t s c và M c h c b ng tương ng.
Nút C p nh t: khi ch n, th c hi n:
• N u trư c ó có nh n nút Thêm thì s thêm h c sinh hi n hành vào danh sách.
• Ngư c l i s c p nh t (ch nh s a) thông tin cho h c sinh hi n hành
• Xu t l i ListView danh sách h c sinh
Nút Xóa: khi ch n, th c hi n:
• N u ang thêm m i thì xu t thông báo l i và không cho phép xóa.
• N u không có h c sinh nào trong danh sách thì xu t thông báo không có h c sinh nào
xóa
• Ngư c l i:
o Xóa h c sinh hi n hành
o Xu t l i ListView danh sách h c sinh
o Xu t thông tin c a h c sinh u tiên trong danh sách ra ph n Thông tin h c sinh.
Khi click ch n m t h c sinh trên ListView danh sách h c sinh: xu t thông tin h c sinh tương
ng ra ph n Thông tin h c sinh.
2.9. Tra c u h c sinh
M c tiêu: Giúp h c viên n m rõ cách s d ng i u khi n ListView và TreeView.
Yêu c u th c hi n:
1. T o m i Form v i tên là Bai_02_09_TreeView_ListView và thi t k theo d ng sau:
Màn hình khi m i m : Li t kê danh sách các trư ng trong TreeView và ListView, có th s
d ng th c ơn t t (ContextMenuStrip) thêm h c sinh khi click ph i vào trư ng trên
TreeView.
(hình 2.9a)
14. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 14/52
Màn hình sau khi thêm h c sinh: Li t kê danh sách các h c sinh trong ListView khi ch n vào
trư ng, có th s d ng th c ơn t t (ContextMenuStrip) xóa h c sinh khi click ph i vào nút
Tên h c sinh trên TreeView.
(hình 2.9b)
2. Cài t x lý cho các ch c năng:
Khi m i m Form, th c hi n t o d li u cho TreeView ch a danh sách các trư ng như trong
hình 2.9a (lúc m i m Form).
X lý click ch n trên TreeView:
• Khi ch n b ng chu t trái, th c hi n:
o N u ch n vào nút g c: trên ListView s li t kê danh sách các trư ng.
o N u ch n vào nút Trư ng ho c H c sinh: trên ListView s li t kê danh sách các h c
sinh c a Trư ng hi n hành.
• Khi ch n b ng chu t ph i, th c hi n:
o N u ch n vào nút Trư ng: hi n th th c ơn t t Thêm h c sinh
o N u ch n vào nút H c sinh: hi n th th c ơn Xóa h c sinh.
Th c ơn t t Thêm h c sinh: s d ng InputBox nh p h tên c a h c sinh m i và thêm h c
sinh m i vào trư ng ang ch n trên ListView.
Th c ơn t t Xóa h c sinh: Xóa h c sinh ang ch n trên TreeView.
2.10. Hi n th hình nh
M c tiêu: Giúp h c viên n m rõ cách s d ng i u khi n Combobox, ListBox, TreeView và PictureBox.
Yêu c u th c hi n:
1. T o m i Form v i tên là Bai_02_10_Hien_thi_hinh và thi t k theo d ng sau:
S d ng ComboBox hi n th danh sách các ĩa có trên máy tính
S d ng TreeView li t kê các thư m c có trên ĩa ư c ch n trong ComboBox
S d ng ListBox li t kê các t p tin hình nh có trong thư m c ư c ch n trên TreeView
S d ng PictureBox hi n th hình nh ng v i t p tin ư c ch n trong ListBox
S d ng các Label hi n th thông tin v hình nh ư c ch n bao g m: Kích thư c, phân
gi i, Kích thư c t p tin, và Ngày gi t o t p tin
15. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 15/52
(hình 2.10)
2. Cài t x lý cho các ch c năng:
Khi m i m Form, th c hi n t o d li u cho ComboBox ch a danh sách tên c a các ĩa hi n
có trong h th ng theo d ng: <Nhãn ĩa> (Tên ĩa), n u ĩa không có nhãn thì hi n th lo i
ĩa tương ng (ví d : Local Disk (C:), DATA (D:), CD-Rom (E:)…)
X lý khi click ch n m t ĩa trên ComboBox, th c hi n:
• Li t kê danh sách các thư m c hi n có trong ĩa ư c ch n trên TreeView Ch n thư
m c (lưu ý: t i ưu t c x lý, ch li t kê các thư m c có trong ĩa hi n hành mà
không li t kê các thư m c con bên trong).
• Li t kê danh sách các t p tin hình nh hi n có trong ĩa ư c ch n trên ListBox T p
tin hình nh (Ch li t kê các t p tin hình nh có trên ĩa, không li t kê các t p tin hình
nh trong các thư m c con)
X lý khi click ch n m t thư m c trên TreeView Ch n thư m c, th c hi n:
• Li t kê danh sách các thư m c con có trong thư m c ang ư c ch n trên TreeView Ch n
thư m c (lưu ý: t i ưu t c x lý, ch li t kê các thư m c có trong thư m c hi n hành
mà không li t kê các thư m c con bên trong).
• Li t kê danh sách các t p tin hình nh hi n có trong thư m c ang ư c ch n trên
TreeView vào ListBox T p tin hình nh (Ch li t kê các t p tin hình nh có trong thư m c
hi n hành, không li t kê các t p tin hình nh trong các thư m c con).
X lý khi click ch n t p tin hình nh trên ListBox T p tin hình nh:
• Hi n th hình nh lên PictureBox v i yêu c u:
16. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 16/52
o N u kích thư c t p tin hình nh l n hơn kích thư c c a PictureBox thì hình nh s
ư c thu nh l i cho v a v i kích thư c c a PictureBox.
o N u kích thư c t p tin hình nh nh hơn kích thư c c a PictureBox thì gi nguyên
kích thư c c a hình nh.
• Hi n th thông tin c a t p tin hình ư c ch n trong Thu c tính c a hình, bao g m: Kích
thư c, phân gi i, Kích thư c t p tin, và Ngày gi t o t p tin
2.11. Trình duy t web
M c tiêu: Giúp h c viên n m rõ cách s d ng i u khi n WebBrowser
Yêu c u th c hi n:
1. T o m i Form v i tên là Bai_02_11_Duyet_web và thi t k theo d ng sau:
S d ng Panel và các nút l nh t o thanh công c v i các nút l nh:
(hình 2.11a)
• Nút Back ( ): dùng quay lui v trang web ã xem trư c ó.
• Nút Forward ( ): dùng i t i trang web cũ sau khi ã quay lui
• Nút Go ( ): dùng g i yêu c u truy xu t n n i dung trang web có a ch ư c
nh p trong ComboBox address.
• Nút Refresh ( ): dùng làm tươi (n p l i) n i dung c a trang web.
• Nút Stop ( ): dùng vi c truy xu t n trang web.
• Bi u tư ng duy t web: khi ang t i n i dung trang web thì hi n th bi u tư ng loading
, sau khi t i n i dung trang web hoàn t t thì hi n th bi u tư ng .
S d ng WebBrowser t o i u khi n hi n th n i dung trang web
Thi t l p thu c tính Dock g n k t các i u khi n lên Form như hình 2.11b
(hình 2.11b – khi m i m form)
17. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 17/52
(hình 2.11c – sau khi t i n i dung trang web)
2. Yêu c u x lý ch c năng:
Khi m i m Form, nút Back ( ) và Forward ( ) s b m . Hai nút này s sáng hay m
tùy theo tr ng thái có th quay lui ho c i t i hay không.
Sau khi ngư i dùng nh p a ch trang web vào ComboBox address và nh n phím Enter ho c
click vào nút l nh Go ( ) s ti n hành t i n i dung trang web và hi n th lên i u khi n
WebBrowser. Khi ang t i trang web thì bi u tư ng duy t web s hi n th là , sau khi t i
hoàn t t s hi n th l i là .
Sau khi t i hoàn t t n i dung trang web thì a ch c a trang web s ư c thêm vào danh sách
c a ComboBox.
Khi click vào nút Refresh ( ): t i l i (làm tươi) n i dung c a trang web.
Khi click vào nút Stop ( ): t m d ng vi c t i n i dung trang web.
18. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 18/52
BÀI 3: ToolStrip và MenuStrip
Giúp h c viên n m v ng cách xây d ng màn hình có h tr thanh công c và th c ơn.
- S d ng Visual Studio, t o m t ng d ng d ng Windows Application cho bài 3 v i tên là
prjBai_tap_03 ch a các Form trong bài 3
3.1. nh d ng văn b n Toolstrip
M c tiêu: Giúp h c viên n m rõ cách s d ng i u khi n ToolStrip t o thanh công c .
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_03_01_Toolstrip và thi t k theo d ng sau:
(hình 3.1)
2. Cài t x lý cho các ch c năng:
Khi m i m Form, th c hi n:
• T o d li u cho ComboBox Font: ch a t t c các Font ch c a h th ng.
• T o d li u cho ComboBox Size: ch a các giá tr t 8 → 72.
• T o giá tr m c nh là Font Tahoma, Size 12
Khi thay i Font ch trên ComboBox Font: th c hi n thay i Font ch cho vùng văn b n
ang ư c ánh d u ch n trong RichTextBox.
Khi thay i kích thư c trên ComboBox Size: th c hi n thay i kích thư c ch cho vùng văn
b n ang ư c ánh d u ch n trong RichTextBox.
Nút : Khi ch n, tùy thu c vào tr ng thái c a nút x lý n i dung c a vùng văn b n ang
ư c ch n có ư c in m hay không.
Nút : Khi ch n, tùy thu c vào tr ng thái c a nút x lý n i dung c a vùng văn b n ang
ư c ch n có ư c in nghiêng hay không.
Nút : Khi ch n, tùy thu c vào tr ng thái c a nút x lý n i dung c a vùng văn b n ang
ư c ch n có ư c ng ch dư i hay không.
Nút : Khi ch n, th c hi n canh l trái cho vùng văn b n ư c ch n trong RichTextBox.
19. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 19/52
Nút : Khi ch n, th c hi n canh gi a cho vùng văn b n ư c ch n trong RichTextBox.
Nút : Khi ch n, th c hi n canh l ph i cho vùng văn b n ư c ch n trong RichTextBox.
3.2. nh d ng văn b n Menustrip
M c tiêu: Giúp h c viên n m rõ cách s d ng i u khi n MenuStrip t o thanh th c ơn.
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_03_02_Menustrip và thi t k theo d ng sau:
(hình 3.2a)
S d ng MenuStrip thi t k th c ơn v i các m c như sau:
2. Cài t x lý cho các ch c năng:
Khi ch n Thoát: óng màn hình, trư c khi óng xu t thông báo h i ngư i dùng có ng ý
óng hay không. N u ngư i dùng tr l i ng ý thì óng màn hình, ngư c l i thì không óng.
Khi ch n Gi i thi u: Xu t h p tho i gi i thi u thông tin c a h c viên như hình 3.2b:
20. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 20/52
(hình 3.2b)
Khi ch n nh d ng Fonts: tùy theo lo i font ư c ch n trên th c ơn th c hi n thay i Font
ch cho vùng văn b n ang ư c ánh d u ch n trong RichTextBox. Sau khi ch n, hi n th
d u check bên trái c a th c ơn cho bi t th c ơn ã ư c ch n.
Khi thay ch n nh d ng Kích thư c: theo lo i kích thư c ư c ch n trên th c ơn th c hi n
thay i kích thư c ch cho vùng văn b n ang ư c ánh d u ch n trong RichTextBox. Sau
khi ch n, hi n th d u check bên trái c a th c ơn cho bi t th c ơn ã ư c ch n.
Khi ch n nh d ng In m ( ): tùy thu c vào tr ng thái c a ch n th c ơn (checked)
x lý n i dung c a vùng văn b n ang ư c ch n có ư c in m hay không.
Khi ch n nh d ng In nghiêng ( ): tùy thu c vào tr ng thái c a ch n th c ơn (checked)
x lý n i dung c a vùng văn b n ang ư c ch n có ư c in nghiêng hay không.
Khi ch n nh d ng G ch dư i ( ): tùy thu c vào tr ng thái c a ch n th c ơn (checked)
x lý n i dung c a vùng văn b n ang ư c ch n có ư c ng ch dư i hay không.
Khi ch n Canh l trái ( ): th c hi n canh l trái cho vùng văn b n ư c ch n trong
RichTextBox. Sau khi ch n, hi n th d u check bên trái c a th c ơn cho bi t th c ơn ã
ư c ch n.
Khi ch n Canh gi a ( ): th c hi n canh gi a cho vùng văn b n ư c ch n trong
RichTextBox. Sau khi ch n, hi n th d u check bên trái c a th c ơn cho bi t th c ơn ã
ư c ch n.
Khi ch n Canh l ph i ( ): th c hi n canh l ph i cho vùng văn b n ư c ch n trong
RichTextBox. Sau khi ch n, hi n th d u check bên trái c a th c ơn cho bi t th c ơn ã
ư c ch n.
3.3. So n th o văn b n. (làm thêm)
M c tiêu: Giúp h c viên n m rõ cách ph i h p s d ng gi a i u khi n MenuStrip và ToolString
t o thanh th c ơn và công c trên màn hình.
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_03_03_Soan_van_ban và thi t k theo d ng sau:
21. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 21/52
(hình 3.3a)
S d ng MenuStrip thi t k th c ơn v i các m c như sau:
S d ng ToolStrip thi t k thanh công c v i các m c như sau:
2. Cài t x lý cho các ch c năng:
Khi m i m Form, th c hi n:
• T o d li u cho ComboBox Font: ch a t t c các Font ch c a h th ng.
• T o d li u cho ComboBox Size: ch a các giá tr t 8 → 72.
• T o giá tr m c nh là Font Tahoma, Size 12
Khi ch n Thoát: óng màn hình, trư c khi óng xu t thông báo h i ngư i dùng có ng ý
óng hay không. N u ngư i dùng tr l i ng ý thì óng màn hình, ngư c l i thì không óng.
Khi ch n Gi i thi u: Xu t h p tho i gi i thi u thông tin c a h c viên như hình 3.3b:
(hình 3.3b)
Khi ch n T o văn b n m i ho c nh n nút s xóa toàn b n i dung ang có trên
RichTextBox nh p n i dung văn b n m i.
Khi ch n Lưu n i dung văn b n ho c nh n nút : Th c hi n lưu n i dung văn b n trên
RichTextBox xu ng t p tin v i yêu c u:
• N u n i dung văn b n ư c lưu l n u tiên thì s d ng InputBox (tham chi u n thư
vi n Microsoft.VisualBasic) cho phép ngư i dùng nh p vào ư ng d n c a t p tin văn b n
22. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 22/52
c n lưu theo d ng sau (hình 3.3c):
Int32 XPos = ((SystemInformation.WorkingArea.Width / 2) - 200);
Int32 YPos = ((SystemInformation.WorkingArea.Height / 2) - 100);
string chuoi_TB = "Nh p ư ng d n t p tin c n lưu";
string chuoi_td = "Lưu t p tin";
string duongdan = Microsoft.VisualBasic.Interaction.InputBox(
chuoi_TB, chuoi_td, "", XPos, YPos);
(hình 3.3c)
• N u trư c ó ã lưu n i dung văn b n r i thì cho phép ghi è lên n i dung văn b n cũ mà
không yêu c u nh p l i ư ng d n t p tin c n lưu.
Khi ch n T ng xu ng dòng: tùy theo tr ng thái ch n (Checked) c a th c ơn mà cho
phép n i dung trong TextBox có t ng xu ng dòng (WordWrap) hay không.
Khi thay i Font ch trên ComboBox Font: th c hi n thay i Font ch cho vùng văn b n
ang ư c ánh d u ch n trong RichTextBox.
Khi thay i kích thư c trên ComboBox Size: th c hi n thay i kích thư c ch cho vùng văn
b n ang ư c ánh d u ch n trong RichTextBox.
Nút : Khi ch n, tùy thu c vào tr ng thái c a nút x lý n i dung c a vùng văn b n ang
ư c ch n có ư c in m hay không.
Nút : Khi ch n, tùy thu c vào tr ng thái c a nút x lý n i dung c a vùng văn b n ang
ư c ch n có ư c in nghiêng hay không.
Nút : Khi ch n, tùy thu c vào tr ng thái c a nút x lý n i dung c a vùng văn b n ang
ư c ch n có ư c ng ch dư i hay không.
Nút : Khi ch n, th c hi n canh l trái cho vùng văn b n ư c ch n trong RichTextBox.
Nút : Khi ch n, th c hi n canh gi a cho vùng văn b n ư c ch n trong RichTextBox.
Nút : Khi ch n, th c hi n canh l ph i cho vùng văn b n ư c ch n trong RichTextBox.
Khi ch n Màu s c ho c nh n nút : tùy theo giá tr màu tương ng ư c ch n tô
màu ch cho vùng văn b n ư c ch n trong TextBox.
23. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 23/52
BÀI 4: Hi n th và s a i d li u v i các
i u khi n Data-Bound
Giúp h c viên n m v ng cách xây d ng màn hình thông qua vi c s d ng các i u
khi n k t n i d li u.
- S d ng Visual Studio, t o m t ng d ng d ng Windows Application cho bài 4 v i tên là
prjBai_tap_04 ch a các Form trong bài 4.
T o cơ s d li u QLSINHVIEN
Mô t
Cơ s d li u Qu n lý Sinh viên cho phép lưu tr thông tin các sinh viên trong các khoa và k t qu
h c t p c a các sinh viên theo môn h c
T o c u trúc các b ng
Các Field ư c g ch dư i và in m là khóa chính c a b ng
KHOA – Danh m c khoa
Field Name Field Type Field Size Format Description
Ma_khoa VarChar 2 Mã khoa
Ten_khoa VarChar 50 Tên khoa
MON_HOC – Danh m c môn h c
Field Name Field Type Field Size Format Description
Ma_mon VarChar 2 Mã môn
Ten_mon VarChar 50 Tên môn
SINH_VIEN – Danh m c sinh viên
Field Name Field Type Field Size Format Description
Ma_sinh_vien VarChar 3 Mã sinh viên
Ho_sinh_vien VarChar 30 H
Ten_sinh_vien VarChar 20 Tên
Ngay_sinh DateTime Ngày sinh
Gioi_tinh Bit True: Nam; False: N
Dia_chi VarChar 50 a ch
Hoc_bong VarChar H c b ng
Ma_khoa VarChar 2 Mã khoa
KET_QUA – K t qu h c t p
Field Name Field Type Field Size Format Description
Ma_sinh_vien VarChar 3 Mã sinh viên
Ma_mon VarChar 2 Mã môn
Diem float i m
Khai báo các ràng bu c (validation rule) theo mô t sau:
B ng SINH_VIEN ki m tra các ràng bu c
− H và tên không ư c r ng
− Ngày sinh không ư c r ng
− Giá tr m c nh cho gi i tính là True
− Giá tr m c nh cho h c b ng là 0
− H c b ng >= 0
24. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 24/52
B ng KET_QUA ki m tra các ràng bu c
− i m t 0 n 10
T o các quan h (relationship) theo mô t sau
B ng cha KHOA và b ng con SINH_VIEN quan h theo c t Ma_khoa
B ng cha SINH_VIEN và b ng con KET_QUA quan h theo c t Ma_sinh_vien
B ng cha MON_HOC và b ng con KET_QUA quan h theo c t Ma_mon
Nh p d li u m u
KHOA
Mã khoa Tên khoa
CN Khoa Công ngh thông tin
TO Khoa Toán
VL Khoa Lý
MON_HOC
Mã môn Tên môn
CO Cơ lý thuy t
CS Cơ s d li u
CT C u trúc d li u
LT Lư ng t
RR Toán r i r c
TC Toán cao c p
TT Trí tu nhân t o
SINH_VIEN
Mã H Tên Ngày sinh Gi i tính H c b ng Mã khoa
C00 Nguy n Th Trang 13/8/1991 False 100000 CN
C01 Hà Tu n 24/2/1991 True 0 CN
C02 Tr n Ng c Hoà 11/6/1990 False 120000 CN
C03 Bùi Th Th o 26/2/1990 False 100000 CN
C04 Nguy n Hoàng Hưng 19/3/1990 True 150000 CN
T00 Lê Tu n 15/2/1991 True 0 TO
T01 Bùi Minh Khánh 9/4/1990 True 120000 TO
T02 Tr n Th Lan 4/3/1990 False 100000 TO
T03 Lê Thi n 18/5/1990 True 0 TO
T04 Lê Th Th o 27/3/1990 False 120000 TO
KET_QUA
Mã sinh viên Mã môn h c i m
C00 CS 10
C00 CT 9
C00 TT 7
C00 RR 8.5
C01 CS 7
C01 CT 6
C01 TT 7
C01 RR 9
C02 CS 7.5
C02 CT 4
C02 TT 5
C02 RR 3
Mã sinh viên Mã môn h c i m
C03 CS 9
C03 CT 1
C03 TT 8.5
C03 RR 9
C04 CS 2
C04 CT 1
25. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 25/52
4.1. T o c u trúc b ng
M c tiêu: Giúp h c viên n m rõ cách t o c u trúc b ng thông qua i tư ng DataTable.
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_04_01_Tao_bang và thi t k theo d ng sau:
(hình 4.1a)
S d ng Button thi t k các nút l nh.
S d ng DataGridView thi t k i u khi n hi n th d li u (không thi t k c u trúc th hi n
trên lư i).
2. Cài t x lý cho các ch c năng:
Khi m i m Form, hi n th như hình 4.1a.
Khi nh n nút T o c u trúc: th c hi n t o DataTable có tên MON_HOC v i c u trúc
MON_HOC(Ma_mon String, Ten_mon String). Trong ó Ma_mon là khóa chính.
Khi nh n nút T o các dòng: t o 3 môn h c m i và thêm vào DataTable MON_HOC.
Khi nh n nút Xu t d li u: hi n th các dòng d li u trong DataTable MON_HOC ra i u khi n
DataGridView như hình 4.1b (có th thêm, xóa và s a các dòng d li u trên lư i).
(hình 4.1a)
4.2. T o k t n i
M c tiêu: Giúp h c viên n m rõ cách k t n i n cơ s d li u thông qua i tư ng Connection.
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_04_02_Connection và thi t k theo d ng sau:
26. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 26/52
(hình 4.2a)
(hình 4.2b)
2. Cài t x lý cho các ch c năng:
CheckBox S d ng ch ng th c Windows: Khi ư c ch n, s không cho phép nh p tên
ăng nh p và m t kh u.
Khi nh n nút K t n i n cơ s d li u: D a vào các thông tin t n i ư c nh p trên các
i u khi n t o k t n i n cơ s d li u SQL Server (tùy theo ch ch ng th c Windows
hay ch ng th c SQL Server).
• N u k t n i thành công t i CSDL, xu t thông báo << ã k t n i thành công t i cơ s
d li u>>.
• N u không k t n i ư c v i CSDL, xu t thông báo <<Không k t n i ư c v i cơ s d
li u>>.
4.3. c d li u
M c tiêu: Giúp h c viên n m rõ cách k t n i n cơ s d li u và c d li u thông qua i tư ng
Connection, DataAdapter và DataTable.
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_04_03_DataAdapter và thi t k theo d ng sau:
27. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 27/52
(hình 4.3a)
S d ng DataGridView thi t k i u khi n hi n th d li u (không thi t k c u trúc th hi n
trên lư i).
2. Cài t x lý cho các ch c năng:
Khi m i m Form, th c hi n k t n i vào cơ s d li u QLSINHVIEN và xu t danh sách các b ng
có trong CSDL QLSINHVIEN vào ComboBox Ch n b ng d li u (d a vào b ng sys.Tables).
Sau khi ch n b ng d li u trong ComboBox Ch n b ng d li u và nh n nút c d li u, th c
hi n c d li u t b ng ư c ch n và xu t ra i u khi n lư i như hình 4.3b.
(hình 4.3b)
4.4. Danh m c khoa
M c tiêu: Giúp h c viên n m rõ cách k t n i n cơ s d li u và c p nh t d li u thông qua vi c t o
các typed Dataset và Binding Source.
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_04_04_Cap_nhat_khoa và thi t k theo d ng sau:
28. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 28/52
(hình 4.4)
Th c hi n các bư c t o m t Typed Dataset k t n i t i sơ s d li u QLSINHVIEN và l y v t t
c các b ng có trong cơ s d li u QLSINHVIEN.
Kéo ngu n d li u c a b ng KHOA và th vào Form sau ó thi t k l i như hình 4.4.
B sung thêm nút l nh Undo ( ) ph c h i l i d li u trên Form.
2. Cài t x lý cho các ch c năng:
Khi nh n nút Undo ( ): ph c h i m u tin hi n hành trên Form, tr v tr ng thái trư c khi
thêm ho c s a.
Các nút l nh còn l i trên thanh công c BindingNavigator ã t ng ư c k t n i khi kéo
ngu n d li u vào Form.
4.5. Danh m c sinh viên
M c tiêu: Giúp h c viên n m rõ cách k t n i n cơ s d li u và c p nh t d li u thông qua vi c t o
các typed Dataset và Binding Source.
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_04_05_Cap_nhat_khoa và thi t k theo d ng sau:
(hình 4.5)
S d ng Typed Dataset ã t o trong bài 4.4, kéo ngu n d li u c a b ng SINH_VIEN và th
vào Form sau ó thi t k l i như hình 4.5.
29. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 29/52
B sung thêm nút l nh Undo ( ) ph c h i l i d li u trên Form.
2. Cài t x lý cho các ch c năng:
Cho phép thêm, xóa và s a d li u tr c ti p trên lu i.
Khi nh n nút Undo ( ): ph c h i m u tin hi n hành trên Form, tr v tr ng thái trư c khi
thêm ho c s a.
Các nút l nh còn l i trên thanh công c BindingNavigator ã t ng ư c k t n i khi kéo
ngu n d li u vào Form.
4.6. Danh m c môn h c
M c tiêu: Giúp h c viên n m rõ cách k t n i n cơ s d li u và c p nh t d li u thông qua vi c t o
các typed Dataset và Binding Source.
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_04_06_Cap_nhat_mon_hoc và thi t k theo d ng sau:
(hình 4.6)
S d ng Typed Dataset ã t o trong bài 4.4, kéo ngu n d li u c a b ng MON_HOC và th
vào Form sau ó thi t k l i như hình 4.5.
B sung thêm nút l nh Undo ( ) ph c h i l i d li u trên Form.
2. Cài t x lý cho các ch c năng:
Lu i không cho phép thêm, xóa và s a d li u tr c ti p trên lư i mà ph i thông qua các
TextBox trong Thông tin môn h c.
Khi nh n nút Undo ( ): ph c h i m u tin hi n hành trên Form, tr v tr ng thái trư c khi
thêm ho c s a.
Các nút l nh còn l i trên thanh công c BindingNavigator ã t ng ư c k t n i khi kéo
ngu n d li u vào Form.
30. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 30/52
4.7. Tra c u i m thi
M c tiêu: Giúp h c viên n m rõ cách k t n i n cơ s d li u và c p nh t d li u thông qua vi c t o
các typed Dataset và Binding Source cũng như ph i h p liên k t d li u gi a các b ng.
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_04_07_Tra_cuu_diem_thi và thi t k theo d ng sau:
(hình 4.7)
S d ng i u khi n TreeView li t kê danh sách các khoa.
S d ng DataGridView li t kê danh sách các thông tin c a sinh viên và k t qu thi c a
sinh viên (S d ng Typed Dataset ã t o trong bài 4.4, kéo ngu n d li u c a b ng
SINH_VIEN và b ng KET_QUA và th vào Form sau ó thi t k l i như hình 4.7).
2. Cài t x lý cho các ch c năng:
Khi m i m Form, th c hi n:
• Li t kê danh sách các khoa có trong b ng KHOA lên u khi n TreeView.
• Li t kê t t c các sinh viên có trong b ng SINH_VIEN lên DataGridView Sinh viên.
• Li t kê k t qu h c t p c a sinh viên ư c ch n trong DataGridView Sinh viên có trong
b ng KET_QUA lên DataGridView k t qu .
Khi ch n m t khoa trong TreeView danh sách khoa: li t kê danh sách các sinh viên có trong
khoa ó lên i u khi n DataGridView sinh viên.
Khi ch n m t sinh viên trong DataGridView sinh viên: li t kê k t qu h c t p c a t t c các
môn mà sinh viên ó ã thi trong b ng KET_QUA lên DataGridView k t qu .
4.8. C p nh t sinh viên theo khoa
M c tiêu: Giúp h c viên n m rõ cách tùy bi n i u khi n DataGridView.
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_04_08_DataGridView và thi t k theo d ng sau:
31. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 31/52
(hình 4.8)
S d ng i u khi n ComboBox li t kê danh sách các khoa có trong b ng KHOA.
S d ng i u khi n DataGridView li t kê danh sách các sinh viên tương ng v i khoa ang
ư c ch n trong ComboBox Khoa (S d ng Typed Dataset ã t o trong bài 4.4, kéo ngu n d
li u c a b ng SINH_VIEN và th vào Form sau ó thi t k l i như hình 4.8).
Cho phép thêm, xóa và s a d li u tr c ti p trên DataGridView sinh viên.
2. Cài t x lý cho các ch c năng:
Hi u ch nh l i tiêu và r ng cho các c t trên lư i như hình 4.8.
T o thêm c t phái hi n th hình tương ng v i t ng gi i tính (c t này không cho ch nh s a).
nh d ng d li u cho c t Ngày sinh theo d ng dd/mm/yyyy và nh d ng d li u cho c t H c
b ng theo d ng #,###.
i màu n n và màu ch cho các sinh viên Nam như hình 4.8.
Khi m i m Form, li t kê danh sách các Khoa có trong b ng KHOA vào ComboBox Khoa.
Khi ch n m t khoa trong ComboBox KHOA, li t kê các sinh viên thu c khoa ó torng
DataGridView Sinh viên.
Khi nh n nút h y ( ) ho c ch n m t dòng trên lư i và nh n phím Delete xu t thông báo h i
ngư i dùng có ng ý h y hay không?
• N u ng ý, th c hi n xóa dòng ang ch n.
• N u không ng ý, h y b thao tác h y m u tin
Khi nh n nút thêm m i ( ) cho phép ngư i dùng thêm m t m u tin m i trên lư i.
Khi nh n nút lưu ( ) ghi nh n l i thông tin v a nh p trên lư i xu ng cơ s d li u.
Khi ngư i dùng nh p vào ngày sinh và h c b ng, ki m tra xem d li u nh p vào có h p l hay
không (ngày sinh ph i nh p theo nh d ng MM/DD/YYYY). N u không h p l thì xu t thông
báo c th b ng ti ng vi t.
32. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 32/52
4.9. C p nh t i m thi
M c tiêu: Giúp h c viên n m rõ cách tùy bi n i u khi n DataGridView cũng như c p nh t d li u tr c
ti p trên lư i.
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_04_09_Cap_nhat_diem_thi và thi t k theo d ng sau:
(hình 4.9)
S d ng i u khi n ComboBox li t kê danh sách các khoa có trong b ng KHOA.
S d ng i u khi n DataGridView li t kê danh sách các sinh viên tương ng v i khoa ang
ư c ch n trong ComboBox Khoa (S d ng Typed Dataset ã t o trong bài 4.4, kéo ngu n d
li u c a b ng SINH_VIEN và th vào Form sau ó thi t k l i như hình 4.9).
S d ng i u khi n DataGridView li t kê danh sách các môn thi c a sinh viên ang ư c
ch n trong DataGridView sinh viên (S d ng Typed Dataset ã t o trong bài 4.4, kéo ngu n
d li u c a b ng KET_QUA và th vào Form sau ó thi t k l i như hình 4.9).
DataGridView sinh viên không cho phép thêm, xóa và s a d li u.
DataGridView K t qu không cho phép thêm và xóa, ch cho phép s a i d li u c a c t i m
2. Cài t x lý cho các ch c năng:
Hi u ch nh l i tiêu và r ng cho các c t trên lư i như hình 4.8.
nh d ng d li u cho c t Ngày sinh theo d ng dd/mm/yyyy.
i màu n n và màu ch cho các dòng ch n trên DataGridView sinh viên như hình 4.9.
Khi m i m Form, li t kê danh sách các Khoa có trong b ng KHOA vào ComboBox Khoa.
Khi ch n m t khoa trong ComboBox KHOA, li t kê các sinh viên thu c khoa ó torng
DataGridView Sinh viên.
Khi ch n m t sinh viên trong DataGridView Sinh viên, li t kê k t qu các môn h c mà sinh viên
ó ã thi trong b ng KET_QUA. N u sinh viên ó chưa thi t t c các môn thì b sung thêm
các môn còn thi u v i i m thi m c nh là 0
Khi nh n nút C p nh t i m: Ghi nh n các thay i trên DataGridView K t qu xu ng b ng
KET_QUA trong cơ s d li u.
33. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 33/52
BÀI 5: H tr và ti n ích cho ngư i dùng
Giúp h c viên n m v ng cách xây d ng màn hình v i các công c h tr cho ngư i
dùng trong quá trình làm vi c.
- S d ng Visual Studio, t o m t ng d ng d ng Windows Application cho bài 5 v i tên là
prjBai_tap_05 ch a các Form trong bài 5
5.1. S d ng PropertyGrid
M c tiêu: Giúp h c viên n m rõ cách s d ng i u khi n PropertyGrid hi u ch nh thu c tính cho
các i u khi n.
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_05_01_PropertyGrid và thi t k theo d ng sau:
(hình 5.1a)
S d ng SplitContainer chia Form thành 2 ph n:
• Ph n bên trái ch a i u khi n groupBox, label, textbox và button
• Ph n bên ph i ch i u khi n ComboBox và PropertyGrid
• Thi t l p thu c tính Dock cho ComboBox là Top, PropertyGrid là Fill và groupBox là Fill
2. Cài t x lý cho các ch c năng:
Khi m i m Form, duy t qua t t c các i u khi n có trong ph n bên trái c a Form và thêm
vào ComboBox tên c a các i u khi n kèm theo lo i i u khi n như hình 5.1b
(hình 5.1b)
Khi ch n m t i u khi n trong ComboBox, li t kê danh sách các thu c tính c a i u khi n ó
trong PropertyGrid như hình 5.1c.
34. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 34/52
(hình 5.1c)
Th c hi n hi u ch nh thu c tính cho các i u khi n như hình 5.1d
(hình 5.1d)
5.2. Sao chép t p tin
M c tiêu: Giúp h c viên n m rõ cách s d ng i u khi n ProgressBar và ToolTip.
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_05_02_ProgressBar_ToolTip và thi t k theo d ng sau:
S d ng i u khi n ProgressBar hi n th ti n trình sao chép t p tin
S d ng i u khi n ToolTip hi n th câu chú thích ý nghĩ cho các i u khi n khi rê con tr
chu t lên i u khi n.
35. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 35/52
(hình 5.2a)
2. Cài t x lý cho các ch c năng:
Khi nh n nút Sao chép t p tin, th c hi n:
• Ki m tra xem ư ng d n thư m c ngu n và thư m c ích có h p l hay không. N u không
h p l xu t thông báo c th cho ngư i dùng bi t.
• N u ư ng d n h p l , th c hi n sao chép t t c các t p tin có trong thư m c ngu n sang
thư m c ích và th hi n ti n trình sao chép t p tin như hình 5.2b.
(hình 5.2b)
5.3. X p lo i h c t p
M c tiêu: Giúp h c viên n m rõ cách s d ng i u khi n ErrorProvider xu t thông báo l i m t cách
sinh ng.
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_05_03_ErrorProvider và thi t k theo d ng sau:
S d ng i u khi n ErrorProvider hi n th câu thông báo l i cho các i u khi n.
36. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 36/52
(hình 5.3a)
2. Cài t x lý cho các ch c năng:
Khi nh n nút X p lo i: ki m tra i m môn toán và môn văn có h p l hay không
• N u h p l , tính i m trung bình và x p lo i h c t p theo công th c:
o i m trung bình = ( i m toán + i m văn)/2
o X p lo i d a vào i m trung bình (DTB):
- N u DTB >= 8 : X p lo i gi i
- N u 6.5 <= DTB < 8: X p lo i khá
- N u 5 <= DTB < 6.5: X p lo i trung bình
- N u DTB < 5: X p lo i y u
• N u i m toán và i m văn nh p vào không h p l , s d ng ErrorProvider xu t thông
báo l i như hình 5.3b.
(hình 5.3b)
Nh n nút Ti p t c: xóa d li u trên các TextBox và ưa con tr vào i m toán.
Nh n nút Thoát: óng form
5.4. S d ng i tư ng Agent
M c tiêu: Giúp h c viên n m rõ cách s d ng i tư ng Agent xu t các thông báo ho c tr giúp.
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_05_04_Agent và thi t k theo d ng sau:
S d ng i u khi n ListBox hi n th tên các hành ng di n ho t c a i tư ng.
S d ng i u khi n TextBox nh p câu thông báo
37. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 37/52
(hình 5.4a)
2. Cài t x lý cho các ch c năng:
Khi m i m Form, th c hi n t o d li u cho ListBox là danh sách tên các hành ng di n ho t
có th có c a i tư ng Agent như hình 5.4a.
Khi nh n nút Di chuy n: di chuy n nhân v t n t a tương ng v i (X, Y) ư c nh p trên
màn hình.
Khi nh n nút Play: cho phép nhân v t di n ho t theo hành ng ư c ch n trong ListBox.
Khi nh n nút stop: cho phép nhân v t d ng t t c các hành ng ang di n ho t.
Khi nh n nút Speak: sho phép nhân v t nói the on i dung câu thông báo ư c nh p như hình
5.4b.
(hình 5.4b)
38. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 38/52
5.5. Phát các t p tin âm thanh h th ng
M c tiêu: Giúp h c viên n m rõ cách s d ng l p SoundPlayer phát các t p tin âm thanh.
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_05_05_Play_WAV_file và thi t k theo d ng sau:
S d ng i u khi n ComboBox hi n th tên các ĩa trong h th ng.
S d ng i u khi n TreeView cây thư m c trong ĩa ư c ch n.
S d ng ListBox hi n th danh sách các t p tin âm thanh (*.wav) trong thư m c ư c
ch n.
(hình 5.5)
2. Cài t x lý cho các ch c năng:
Khi m i m Form, th c hi n t o d li u cho ComboBox ch a danh sách tên c a các ĩa hi n
có trong h th ng theo d ng: <Nhãn ĩa> (Tên ĩa), n u ĩa không có nhãn thì hi n th lo i
ĩa tương ng (ví d : Local Disk (C:), DATA (D:), CD-Rom (E:)…)
X lý khi click ch n m t ĩa trên ComboBox: Li t kê danh sách các thư m c hi n có trong
ĩa ư c ch n trên TreeView Ch n thư m c (lưu ý: t i ưu t c x lý, ch li t kê các thư
m c có trong ĩa hi n hành mà không li t kê các thư m c con bên trong).
X lý khi click ch n m t thư m c trên TreeView Ch n thư m c: Li t kê danh sách các thư
m c con có trong thư m c ang ư c ch n trên TreeView Ch n thư m c (lưu ý: t i ưu t c
x lý, ch li t kê các thư m c có trong thư m c hi n hành mà không li t kê các thư m c con
bên trong).
Khi nh n nút Tìm t p tin âm thanh (*.wav): Tìm t t c các t p tin có nh d ng *.wav
trong thư m c ang ư c ch n trên TreeView Ch n thư m c và c các thư m c con, sau ó
hi n th ra ListBox Các t p tin âm thanh (*.wav). (dùng phương th c GetFiles c a l p
Directory).
39. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 39/52
Khi nh n nút Phát t p tin âm thanh: th c hi n phát t p tin âm thanh ang ư c ch n trong
ListBox Các t p tin âm thanh (*.wav).
Khi nh n nút D ng phát: ngưng phát t p tin âm thanh
Nh n nút Thoát: óng màn hình.
5.6. Phát các t p tin nh c và phim
M c tiêu: Giúp h c viên n m rõ cách s d ng i u khi n Windows media Player phát các t p tin
nh c và phim.
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_05_06_MediaPlayer và thi t k theo d ng sau:
S d ng i u khi n ComboBox hi n th tên các ĩa trong h th ng.
S d ng i u khi n TreeView cây thư m c trong ĩa ư c ch n.
S d ng ListBox hi n th danh sách các t p tin âm nh c và phim (*.mp3, *.wmv, *.avi,
*.wma, *.wav, *.mpg, *.flv và *.dat) trong thư m c ư c ch n.
S d ng i u khi n Windows Media Player phát các t p tin nh c và phim. s d ng ư c
i u khi n Windows Media Player click ph i lên ToolBox và ch n Choose Items, trong c a s
Choose Toolbox Item, ch n th COM Components và ch n thư vi n Windows Media Player.
(hình 5.6)
2. Cài t x lý cho các ch c năng:
Khi m i m Form, th c hi n t o d li u cho ComboBox ch a danh sách tên c a các ĩa hi n
có trong h th ng theo d ng: <Nhãn ĩa> (Tên ĩa), n u ĩa không có nhãn thì hi n th lo i
ĩa tương ng (ví d : Local Disk (C:), DATA (D:), CD-Rom (E:)…)
X lý khi click ch n m t ĩa trên ComboBox, th c hi n:
• Li t kê danh sách các thư m c hi n có trong ĩa ư c ch n trên TreeView Ch n thư
40. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 40/52
m c (lưu ý: t i ưu t c x lý, ch li t kê các thư m c có trong ĩa hi n hành mà
không li t kê các thư m c con bên trong).
• Li t kê danh sách các t p tin nh c và t p tin phim hi n có trong ĩa ư c ch n trên
ListBox T p tin nh c và phim (Ch li t kê các t p tin hình nh có trên ĩa, không li t kê
các t p tin hình nh trong các thư m c con).
• T o playlist cho i u khi n Windows Media Player theo danh sách các t p tin hi n có trên
ListBox.
X lý khi click ch n m t thư m c trên TreeView Ch n thư m c, th c hi n:
• Li t kê danh sách các thư m c con có trong thư m c ang ư c ch n trên TreeView Ch n
thư m c (lưu ý: t i ưu t c x lý, ch li t kê các thư m c có trong thư m c hi n hành
mà không li t kê các thư m c con bên trong).
• Li t kê danh sách các t p tin nh c và t p tin phim hi n có trong thư m c ang ư c
ch n trên TreeView vào ListBox T p tin nh c và phim (Ch li t kê các t p tin hình nh có
trong thư m c hi n hành, không li t kê các t p tin hình nh trong các thư m c con).
• T o playlist cho i u khi n Windows Media Player theo danh sách các t p tin hi n có trên
ListBox.
X lý khi Double click ch n t p tin nh c trên ListBox T p tin nh c và phim: phát t p tin nh c
ó trên Windows MediaPlayer.
X lý khi Double click lên i u khi n Windows Media Player: phóng to phim ch Full
Screen.
Khi click vào các nút di chuy n Previous và Next trên i u khi n Windows Media Player s tô
en bài nh c tương ng trên ListBox.
5.7. ng h th i gian (làm thêm)
M c tiêu: Giúp h c viên n m rõ cách s d ng i u khi n Timer x lý s ki n th i gian.
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_05_07_Timer và v i u khi n Timer lên Form:
2. Cài t x lý cho các ch c năng:
Khi m i m Form, kh i t o ng h và v ng h ra Form như hình 5.7
(hình 5.7)
Khi th i gian thay i (s ki n tick c a Timer), v l i v trí c a các kim ng h th y ư c
ng h ho t ng.
41. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 41/52
5.8. ng h th i gian (làm thêm)
M c tiêu: Giúp h c viên n m rõ cách s d ng thư vi n Globalization nh d ng d li u.
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_05_08_Localization và thi t k như sau:
(hình 5.8a – Trang nh d ng s - ti n t )
(hình 5.8b – Trang nh d ng th i gian)
42. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 42/52
(hình 5.8c – Trang nh d ng ngày)
S d ng i u khi n ComboBox li t kê danh sách các qu c gia và vùng lãnh th .
S d ng i u khi n TabControl t o i u khi n phân trang trên Form g m 3 trang: nh
d ng s - ti n t , nh d ng th i gian, nh d ng ngày.
S d ng các i u khi n TextBox hi n th các thông tin nh d ng.
2. Cài t x lý cho các ch c năng:
Khi m i m Form, li t kê danh sách các qu c gia và vùng lãnh th trong ComboBox Ch n
qu c gia/vùng lãnh th theo d ng <<Tên y >> (<<Tên t t>>).
• Tên y bao g m 2 thành ph n: <Ngôn ng > (<Tên qu c gia>) (ví d : English (United
States)).
• Tên t t bao g m 2 thành ph n vi t t t: <Ngôn ng > - <Qu c gia> (ví d : en-US).
Khi ch n m t qu c gia tương ng trong ComboBox Ch n qu c gia/vùng lãnh th , li t kê
các thông tin nh d ng v s , ti n ti , th i gian và ngày gi lên các i u khi n tương ng.
ng th i s d ng phương th c ToString hi n th các ví d nh d ng như trong các hình
5.8a, 5.8b và 5.8c.
43. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 43/52
BÀI 6: T o ng d ng s d ng h p tho i và
k th a Forms
Giúp h c viên n m v ng cách xây d ng màn hình k t h p v i các h p tho i chu n c a
windows tăng hi u qu khai thác ng d ng.
- S d ng Visual Studio, t o m t ng d ng d ng Windows Application cho bài 6 v i tên là
prjBai_tap_06 ch a các Form trong bài 6
6.1. S d ng h p tho i ch n Font
M c tiêu: Giúp h c viên n m rõ cách s d ng h p tho i ch n Font nh d ng Font ch và m c s c.
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_06_01_Dinh_dang_Font và thi t k theo d ng sau:
(hình 6.1a)
2. Cài t x lý cho các ch c năng:
Khi nh n vào nút nh d ng Font: hi n th h p tho i ch n Font như hình 6.1b.
(hình 6.1b)
Sau khi ch n các thông tin nh d ng trên h p tho i Font và nh n nút OK: nh d ng l i n i
dung trong TextBox theo thông tin ã ch n trong h p tho i Font như hình 6.1c.
44. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 44/52
(hình 6.1C)
6.2. S d ng h p tho i ch n màu
M c tiêu: Giúp h c viên n m rõ cách s d ng h p tho i ch n màu nh d ng m c s c.
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_06_02_Dinh_dang_mau và thi t k theo d ng sau:
(hình 6.2a)
2. Cài t x lý cho các ch c năng:
Khi nh n nút nh d ng màu ch : hi n th h p tho i ch n màu cho văn b n như hình 6.2b.
Khi nh n nút nh d ng màu n n: hi n th h p tho i ch n màu cho văn b n như hình 6.2b.
Sau khi ngư i dùng ch n màu, căn c vào màu s c ư c ch n nh d ng màu cho n i dung
văn b n hay màu n n trong TextBox.
(hình 6.2b)
45. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 45/52
6.3. So n th o văn b n:
M c tiêu: Giúp h c viên n m rõ cách s d ng các l i h p tho i ch n màu, ch n font, m t p tin và
lưu t p tin so n th o văn b n.
Công vi c th c hi n:
1. T o m i Form v i tên là Bai_06_03_Soan_van_ban và thi t k theo d ng sau:
(hình 6.3a)
S d ng MenuStrip thi t k th c ơn v i các m c như sau:
S d ng ToolStrip thi t k thanh công c v i các m c như sau:
S d ng RichTextBox thi t k i u khi n hi n th và nh p n i dung văn b n:
2. Cài t x lý cho các ch c năng:
Khi m i m Form, th c hi n:
• T o d li u cho ComboBox Font: ch a t t c các Font ch c a h th ng.
• T o d li u cho ComboBox Size: ch a các giá tr t 8 → 72.
• T o giá tr m c nh là Font Tahoma, Size 12
Khi thay i Font ch trên ComboBox Font: th c hi n thay i Font ch cho vùng văn b n
ang ư c ánh d u ch n trong RichTextBox.
Khi thay i kích thư c trên ComboBox Size: th c hi n thay i kích thư c ch cho vùng văn
b n ang ư c ánh d u ch n trong RichTextBox.
Nút : Khi ch n, tùy thu c vào tr ng thái c a nút x lý n i dung c a vùng văn b n ang
ư c ch n có ư c in m hay không.
46. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 46/52
Nút : Khi ch n, tùy thu c vào tr ng thái c a nút x lý n i dung c a vùng văn b n ang
ư c ch n có ư c in nghiêng hay không.
Nút : Khi ch n, tùy thu c vào tr ng thái c a nút x lý n i dung c a vùng văn b n ang
ư c ch n có ư c ng ch dư i hay không.
Nút : Khi ch n, th c hi n canh l trái cho vùng văn b n ư c ch n trong RichTextBox.
Nút : Khi ch n, th c hi n canh gi a cho vùng văn b n ư c ch n trong RichTextBox.
Nút : Khi ch n, th c hi n canh l ph i cho vùng văn b n ư c ch n trong RichTextBox.
Khi ch n T o văn b n m i (ho c nh n nút ): Xóa n i dung hi n có trên RichTextBox và
kh i t o các giá tr m c nh như Font, Size, …
Khi ch n M t p tin (ho c nh n nút ): Hi n th h p tho i m t p tin (OpenFileDialog) cho
phép ngư i dùng ch n t p tin văn b n (*.txt ho c *.rtf) m .
Khi ch n Lưu n i dung văn b n (ho c nh n nút ): Lưu n i dung văn b n trên
RichTextBox xu ng t p tin. N u là văn b n m i và trư c ó chưa lưu l n nào thì hi n th h p
tho i lưu t p tin (SaveFileDialog) cho phép ngư i dùng ch n thư m c c n lưu t p tin v i ki u
t p tin c n lưu là *.rtf.
Khi ch n Lưu văn b n v i tên m i: Hi n th h p tho i lưu t p tin (SaveFileDialog) cho phép
ngư i dùng ch n thư m c c n lưu t p tin v i ki u t p tin c n lưu là *.rtf.
Khi ch n Gi i thi u: Xu t h p tho i gi i thi u thông tin c a h c viên như hình 6.3b:
(hình 6.3b)
Khi ch n Thoát: óng màn hình, trư c khi óng xu t thông báo h i ngư i dùng có ng ý
óng hay không. N u ngư i dùng tr l i ng ý thì óng màn hình, ngư c l i thì không óng.
Trư c khi óng màn hình c n ki m tra xem n i dung c a văn b n có b thay i và
ã lưu hay chưa. N u chưa lưu thì th c hi n lưu n i dung văn b n vào t p tin r i
m i óng màn hình.
Khi ch n T ng xu ng dòng: tùy theo tr ng thái ch n (Checked) c a th c ơn mà cho
phép n i dung trong RichTextBox có t ng xu ng dòng (WordWrap) hay không.
Khi ch n Font…: Hi n th h p tho i ch n Font (FontDialog) cho phép ngư i dùng ch n ki u
ch , kích c ch , màu s c… cho vùng văn b n ang ư c ch n trong RichTextBox.
Khi ch n Color… (ho c nh n nút ): Hi n th h p tho i ch n màu (ColorDialog) và tùy theo
giá tr màu tương ng ư c ch n trong ColorDialog tô màu ch cho vùng văn b n ư c
ch n trong RichTextBox.
6.4. K th a Form:
M c tiêu: Giúp h c viên n m rõ cách t o ra các màn hình cho phép k th a xây d ng các màn
hình khác.
Công vi c th c hi n:
47. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 47/52
1. Yêu c u 1:
T o m i m t project t tên là Base_Form bên trong có m t Form là My_base_form và
thi t k như hình 6.4a.
(hình 6.4a)
Khi nh n vào nút tính T ng: tính t ng c a S th nh t và S th hai sau ó xu t ra TextBox
k t qu .
Ch y chương trình ki m tra và s a các l i phát sinh n u có.
M c a s thu c tính c a Project (ch n th c ơn Project → Base_Form Properties) và chuy n
ki u k t xu t c a Project là Class Library.
(hình 6.4b)
48. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 48/52
Biên d ch l i Project t o t p tin thư vi n Base_Form.dll.
2. Yêu c u 2:
Trong Project c a bài 06 (prjBai_tap_06) T o m i Form v i tên là Bai_06_04_Ke_thua_form
và thi t k theo yêu c u sau:
• Chép t p tin thư vi n Base_Form.dll vào trong thư m c ch a Project prjBai_tap_06.sln.
• T o tham chi u (Add References) t i thư vi n Base_Form.dll.
• M c a s l nh c a form Bai_06_04_Ke_thua_form và s a l i l nh k th a Form thành
My_base_form.
public partial class Bai_06_04_Ke_thua_form : My_base_form
{
public Bai_06_04_Ke_thua_form()
{
InitializeComponent();
}
private void Thoat_Click(object sender, EventArgs e)
{
this.Close();
}
}
(hình 6.4c)
Th c thi chương trình và ghi nh n k t qu .
3. Yêu c u x lý m r ng:
Trong màn hình thư vi n My_base_form, b sung phương th c Gioi_thieu cho bi t h tên và
a ch c a h c viên. Sau ó biên d ch l i thư vi n.
Trong màn hình Bai_06_04_Ke_thua_form, b sung thêm nút gi i thi u và g i phương th c
Gioi_thieu ã thi t k trong thư vi n Base_Form.dll.
49. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 49/52
BÀI 7: Tri n khai ng d ng v i ClickOnce
Giúp h c viên n m v ng cách xây d ng ng d ng d ng ClickOne.
- S d ng l i Project bài 5 (prjBai_tap_05) t o ng d ng ClickOne.
7.1. B sung màn hình chính
M c tiêu: T o màn hình chính liên k t t i các màn hình trong Project Bài 05.
Công vi c th c hi n:
1. Sao chép Project prjBai_tap_03 sang thư m c bài t p 07 và i tên thành prjBai_tap_07.
(hình 7.1a)
2. T o m i Form v i tên là Bai_07_00_Main và thi t k theo d ng sau:
(hình 7.1a)
3. Cài t x lý cho các ch c năng:
Khi nh n nút Bài 03_01: M màn hình Bai_03_01_ToolStrip.
Khi nh n nút Bài 03_02: M màn hình Bai_03_02_MenuStrip.
Khi nh n nút Bài 03_03: M màn hình Bai_03_03_Soan_van_ban.
Thi t l p màn hình kh i ng cho ng d ng là màn hình Bai_07_00_Main.
50. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 50/52
7.2. Xây d ng ng d ng ClickOne
M c tiêu: Giúp h c viên n m rõ các xây d ng m t ng d ng d ng ClickOne t m t project ng ng
ã có.
Công vi c th c hi n:
1. M c a s thu c tính c a trong Project prjBai_tap_07, thi t l p v trí s lưu k t qu khi publish
cũng như xác nh phiên b n c a ng d ng.
(hình 7.2)
2. Ch n th c ơn Build → Publish prjBai_tap_07 xu t b n ng d ng. theo các bư c sau:
Bư c 1: xác nh v trí chưa k t qu Publish, nh n Next ti p t c
Bư c 2: xác nh cách th c óng gói, nh n Next ti p t c
51. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 51/52
Bư c 3: xác nh cách th c c p nh t khi có thay i, nh n Next ti p t c.
Bư c 4: nh n nút Finish hoàn t t vi c thi t l p thông tin và ti n hành Publish.
52. Bài t p L p trình ng d ng Windows Forms v i C# - Môn 1
Bai_tap_Lap_trinh_WinForm - Mon_1.doc Trang 52/52
3. K t qu sau khi Publish:
----- H T -----