Upload
thiensuhoaian
View
741
Download
7
Embed Size (px)
Citation preview
XÂY DỰNG WINDOWS FORMS APPLICATION
Bài 2
I. Windows Forms Application1. Khởi tạo Bước 1: Khởi động Visual Studio. Bước 2: Vào menu File | New | Project Bước 3: Khai báo:
1. Khởi tạo
1. Khởi tạo Bước 4: Thiết kế Form – Viết code:
Thiết kế form: Nhắp vào View Designer (trong cửa số Solution Explorer).
Viết code: Nhắp vào View Code (trong cửa số Solution Explorer)
Bước 5: Để chạy chương trình, nhấn F5 hoặc nhắp vào nút
Bước 6: Để ngừng chương trình, nhấn Shift F5 hoặc nhắp vào nút
2. Màn hình giao diện của Windows Forms
2. Màn hình giao diện của Windows Forms
3. Control Control là lớp (class) các thành phần được thêm
vào Windows Forms để tương tác giữa người sử dụng với Windows.
Có rất nhiều loại control trong Windows Forms như: Label, TextBox, ListBox, ComboBox, Button,…
Các control sử dụng trên Windows Forms dùng namespace System.Windows.Forms.
4. Properties (thuộc tính) của control Properties là những thông tin mà ta có thể
thay đổi nội dung, cách trình bày… của người thiết kế để ứng dụng vào control.
Mỗi lớp (class) có nhiều property khác nhau. Tuy nhiên, vẫn có một số property giống nhau được xây dựng từ lớp ban đầu.
4. Properties (thuộc tính) của control
Thu c tínhộ Mô tả
AnchorCó 4 h ng đ c đ nh nghĩa là: top, bottom, left, ướ ượ ịright đ c đ nh (neo).ể ố ị
BackColor Màu n n c a control.ề ủ
DockGi ng nh Anchor nh ng vi c c đ nh (neo) này ố ư ư ệ ố ịtheo m t c nh nào đó c a control (ho c c 4 ộ ạ ủ ặ ảc nh) v i control ch a nó.ạ ớ ứ
EnabledControl đ 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 control.ữ ủ
4. Properties (thuộc tính) của control
Thu c tínhộ Mô tả
HeightLà chi u cao c a control tính t c nh trên c a ề ủ ừ ạ ủcontrol đ n c nh d i c a ế ạ ướ ủ control.
Name Tên c a control.ủ
TabIndexTh t focus khi nh n phím Tab (trên bàn phím) ứ ự ấc a control so v i các control khác cùng n m ủ ớ ằtrong control ch a nó.ứ
TabStop
Ch đ nh control có đ c phép “b t” (True) / ỉ ị ượ ắkhông đ c phép “b t” (False) phím Tab. N u ượ ắ ếkhông đ c phép thì TabIndex cũng không dùng ượđ c.ượ
4. Properties (thuộc tính) của control
Thu c tínhộ Mô tả
TagLà nhãn phân bi t gi a các control gi ng nhau ệ ữ ốtrong cùng form.
Text N i dung hi n trong control.ộ ệ
VisibleCho phép control hi n (True) / không hi n ệ ệ(False) khi ch y ng d ng.ạ ứ ụ
WidthLà chi u r ng c a control tính t c nh trái c a ề ộ ủ ừ ạ ủcontrol đ n c nh ph i c a control.ế ạ ả ủ
II. Các Control cơ bản1. Label (Nhãn)
Công d ngụ T o Labelạ
Hi n th chu i ký t không ể ị ỗ ựthay đ i trên formổ
- Ch n công c Labelọ ụ- Rê chu t và vẽ Label trên form.ộ
Thu c tính (Properties )ộ
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 Thay đ i các hi n th cho chu i ký tổ ể ị ỗ ự
TextAlign Canh l (Left / Center / Right)ề
II.2. TextBoxCông d ngụ T o Labelạ
Dùng trình bày văn b n và cho ảphép ng i dùng đ c thay ườ ượđ i n i dung văn b n.ổ ộ ả
- Ch n công c TextBoxọ ụ- Rê chu t và vẽ TextBox trên formộ
Thu c tính (Properties )ộ
PasswordChar Quy đ nh ký t hi n th cho ô m t kh uị ự ể ị ậ ẩ
MultilineTrue/False: Ng t dòng t đ ng và hi n th thanh ắ ự ộ ể ịcu nộ
ScrollBars Thanh cu n (None / Horizontal / Vertical / Both)ộ
II.3. ButtonCông d ngụ T o Labelạ
• Dùng đ th c thi l nh. ể ự ệ• Khi nh p chu t lên button, ắ ộ
ch ng trình nh n đ c tín ươ ậ ượhi u Click và l nh đ c thi ệ ệ ượhành.
• Ch n công c Buttonọ ụ• Rê chu t và vẽ Button trên ộ
form.
Thu c tính (Properties )ộ
Text Nh p n i dung vào Buttonậ ộ
II.4. CheckBoxCông d ngụ T o Labelạ
- Ch n công c Labelọ ụ- Rê chu t và vẽ Label trên form.ộ
Thu c tính (Properties )ộ
CheckedState True/False: Có đánh d u s n khi kh i t o khôngấ ẵ ở ạ
Ph ng th cươ ứ
Checked True/False: Giá tr c a CheckBoxị ủ
II.5. Bổ sung MessageBox.Show - hi n h p thông báo, có hai ệ ộ
cách g i ph bi n là:ọ ổ ế MessageBox.Show("Thông báo", "Tiêu đê�");
MessageBox.Show(("Thông báo", "Tiêu đê�", Buttons, Icon);
II.5. Bổ sung Buttons (Các nút l nh c a MessageBox), có m t ệ ủ ộ
s giá tr th ng g p là:ố ị ườ ặ MessageBoxButtons.OK MessageBoxButtons.OKCancel MessageBoxButtons.YesNo MessageBoxButtons.YesNoCancel
II.5. Bổ sung Icon (Bi u t ng c a MessageBox), có m t s ể ượ ủ ộ ố
giá tr th ng g p là:ị ườ ặ MessageBoxIcon.OK MessageBoxIcon.OKCancel MessageBoxIcon.YesNo
II.5. Bổ sung DialogResult (K t qu tr v c a MessageBox), ế ả ả ề ủ
có m t s giá tr th ng g p là:ộ ố ị ườ ặ DialogResult.OK DialogResult.Yes
II.5. Bổ sung Câu l nh thoát:ệ
Đóng Form hi n hành:ệ
this.Close(); Thoát kh i ng d ng:ỏ ứ ụ
Application.Exit();
II.5. Bổ sung Events (S ki n) là gì ?ự ệ
S ki n là nh ng ph n ng c a đ i t ng. Nói ự ệ ữ ả ứ ủ ố ượcách khác, s ki n là nh ng tín hi u phát ra khi ự ệ ữ ệng i dùng thao tác trên đ i t ng.ườ ố ượ
Nh có event, ng i l p trình sẽ nh n đ c ờ ườ ậ ậ ượnh ng tín hi u và x lý nh ng tín hi u đó đữ ệ ử ữ ệ ể ph n h i l i cho ng i dùng, t o nên s nh p ả ồ ạ ườ ạ ự ịnhàng cho ch ng trình.ươ
II.5. Bổ sungS ki nự ệ Mô tả
ClickG i đ n khi control b Click. Trong m t vài control, event ọ ế ị ộnày cũng x y ra khi ng i dùng nh n phím Enter.ả ườ ấ
DoubleClickG i đ n khi control b Double-Click. Trong m t vài ọ ế ị ộcontrol, event này không bao gi đ c g i. Ví d : control ờ ượ ọ ụButton.
KeyPressG i đ n khi v a b m m t phím b t kỳ t 1 control đ c ọ ế ừ ấ ộ ấ ừ ượfocus. KeyDown->KeyUp->KeyPress.
GotFocus G i đ n khi control đ c focus.ọ ế ượ
LostFocus G i đ n khi control b m t focus.ọ ế ị ấ
II.6. Ví dụ T o Form đ t tên là ạ ặ frmLogin nh hìnhư
II.6. Ví dụ Đi u ch nh:ề ỉ
Đ t l i font ặ ạ Times New Roman, size 12 cho form. Đ t tên theo tiêu chu n cho các Button, TextBox…ặ ẩ Đ t ặ PasswordChar cho TextBox m t kh u.ậ ẩ
II.6. Ví dụ Nút Đăng nh p ậ sẽ hi n thông báo v tình tr ng tên, m t ệ ề ạ ậ
kh u và ghi nh .ẩ ớ Nh n đúp chu t vào Button Đăng nh p và thêm đo n code ấ ộ ậ ạ
sau:string thongbao;thongbao = "Tên đăng nhập là : ";thongbao += this.txtUser.Text;thongbao += "\n\rMật khẩ3u là : ";thongbao += this.txtPass.Text;if (chkNho.Checked == true)
thongbao += "\n\r Bạn có ghi nhớ mật khẩ3u";MessageBox.Show(thongbao, "Thông báo");
II.6. Ví dụ Nút Xóa sẽ xóa h t n i dung trong các TextBox ế ộ
và chuy n con tr v TextBox tên đăng nh p.ể ỏ ề ậ Nh n đúp chu t vào Button Xóa và thêm đo n ấ ộ ạ
code sau:this.txtUser.Clear();this.txtPass.Clear();this.txtUser.Focus();
II.6. Ví dụ Nút Thoát sẽ h i ng i dùng tr c khi đóng Form.ỏ ườ ướ Nh n đúp chu t vào Button Thoát và thêm đo n ấ ộ ạ
code sau:DialogResult traloi;traloi = MessageBox.Show("Bạn có chắ?c chắ?n muô?n thoát không ?", "Tra3 lời", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);if (traloi == DialogResult.OK)
Application.Exit();
II.6. Ví dụ T o Form đ t tên là ạ ặ frmMain nh hìnhư
II.6. Ví dụ Đ t ặ frmMain là form m c đ nh c a ng d ng - ặ ị ủ ứ ụ
nh n đúp chu t vào Program.cs, s a l i nh ấ ộ ử ạ ưsau:
Application.Run(new FrmMain());
II.6. Ví dụ G i ọ frmLogin tr c, yêu c u ng i dùng nh p ướ ầ ườ ậ
đúng Tên đăng nh p ậ và M t kh uậ ẩ thì m i cho ớvào frmMain - nh n đúp chu t vào ấ ộ frmMain, nh p đo n code nh sau:ậ ạ ư
Form frm = new frmLogin();frm.ShowDialog();
II.6. Ví dụ Trên frmLogin nh n đúp chu t vào nút Đăng ấ ộ
nh p, s a l i nh sau:ậ ử ạ ưif ((txtUser.Text == "abc") && (txtPass.Text == "123"))
this.Close();e lse
MessageBox.Show("Tên đăng nhập hoặc Mật khẩu không đúng", "Lỗi", MessageBoxButtoons.OK, MessageBoxIcon.Warning);
II.6. Ví dụ Đi u ch nh:ề ỉ
V trí xu t hi n c a form ra gi a ?ị ấ ệ ủ ữ Tránh ng i dùng bypass ườ frmLogin b ng nút ằ
Close ho c ặ Alt + F4 ?
II.7. ListBoxCông d ngụ T o Labelạ
• Dùng đ hi n th m t danh ể ể ị ộsách các l a ch n.ự ọ
• Ch n công c ọ ụ ListBox• Rê chu t và vẽ ộ ListBox trên
form.
Thu c tính (Properties )ộ
Items Các m c giá tr sẽ hi n th trong ListBoxụ ị ể ị
SelectedItem Item đ c ch nượ ọ
Ph ng th cươ ứ
ListBox.Items.Add() Thêm giá tr vào Itemsị
ListBox.SelectedItem.ToString()
L y giá tr đang đ c ch nấ ị ượ ọ
II.7. ListBox T o form nh sau:ạ ư
II.7. ListBox Trên khung thu c tính c a ộ ủ lstKhoa, ch n ọ Edit
Items… và thêm các giá tr , m i giá tr trên m t ị ỗ ị ộdòng.
Nút Ch n ọ sẽ hi n th trên ể ị txtKetqua dòng ch ữ“B n đã ch n khoa Tên Khoa.”ạ ọ
txtKetqua.Text = "Bạn đã chọn khoa " + lstKhoa.SelectedItem.ToString() + "."; Nút Reset sẽ xóa n i dung trên ộ txtKetqua. Khi kh i ch y form và b m ch n ngay thì sao ?ở ạ ấ ọ
II.8. ComboBoxCông d ngụ T o Labelạ
• Dùng đ hi n th m t danh ể ể ị ộsách các l a ch nự ọ ho c ặnh p vào m t giá trậ ộ ị.
• Ch n công c ọ ụ ComboBox• Rê chu t và vẽ ộ ComboBox trên
form.
Thu c tính (Properties )ộ
DisplayMember Gán n i dung th hi n trên ComboBoxộ ể ệ
Items Li t kê các m c giá tr trong ComboBoxệ ụ ị
SelectedItem L y Item đ c ch nấ ượ ọ
SelectedTextL y n i dung th hi n trên ComboBox t ấ ộ ể ệ ừDisplayMember
SelectedValue L y giá tr t ValueMemberấ ị ừ
ValueMember Gán giá tr cho ComboBoxị
II.9. RadioButtonCông d ngụ T o Labelạ
• Dùng đ ch n m t trong ể ọ ộcác l a ch n trong danh ự ọsách
• Ch n công c ọ ụ RadioButton• Rê chu t và vẽ ộ RadioButton
trên form.
Thu c tính (Properties )ộ
Checked True/False: Có ch n/Không ch nọ ọ
II.10. GroupBoxCông d ngụ T o Labelạ
• T o ra m t nhómạ ộ• Ch n công c ọ ụ GroupBox• Rê chu t và vẽ ộ GroupBox trên
form.
Thu c tính (Properties )ộ
BackgroundImage Hình n nề
BackgroundImageLayout V trí hị ình n nề
II.10. GroupBox T o form nh sau:ạ ư
Nh n đúp chu t vào nút ấ ộ K t quế ả, s a l i nh sau:ử ạ ưchar[] chuoi = txtTen.Text.Trim().ToCharArray();if (txtTen.Text.Trim() == "") MessageBox.Show("Chưa nhập vào tên", "Thôông báo");else{
if (rbnHoa.Checked == true)txtKetqua.Text = txtTen.Text.Trim().ToUpper();else if (rbnThuong.Checked == true) txtKetqua.Text
= txtTen.Text.Trim().ToLower();else if (rbnTen.Checked == true) txtKetqua.Text =
CultureInfo.CurrentCulture.TextInfo.ToTitleCase( txtTen.Text.Trim());
else{
chuoi[0] = char.ToUpper(chuoi[0]);txtKetqua.Text = chuoi[0] +
txtTen.Text.Trim().Substring(1);}
II.11. TimerCông d ngụ T o Labelạ
• Quy đ nh kho ng th i gian ị ả ờđ nh kỳ đ th c hi n m t ị ể ự ệ ộcông vi c.ệ
• Ch n công c ọ ụ Timer• Rê chu t và vẽ ộ Timer trên
form. Timer là control ẩn.
Thu c tính (Properties )ộ
Enabled B t / t t ch đ h n th i gianậ ắ ế ộ ẹ ờ
Interval Kho ng th i gian đ nh kỳả ờ ị
II.11. Timer T o form nh sau:ạ ư
II.11. Timer Nh n đúp chu t vào control ấ ộ Timer, s a l i nh ử ạ ư
sau:lblDongho.Text = i.ToString();i--;if (i < 0) timer1.Enabled = false;
II.12. MenuStrip và ToolStripMenuStrip
Công d ngụ T o Labelạ
• T o menuạ• Nh p đúp vào ấ MenuStrip• Nh p các Menuậ .
ToolStrip
• T o ra Toolbarạ
• Ch n công c ọ ụ ToolStrip• Kéo ToolStrip vào trong form• T o các ạ Button, Label,
TextBox… cho ToolStrip