44
XÂY DỰNG WINDOWS FORMS APPLICATION Bài 2

Bài 2 - Winforms - Visual C# 2010

Embed Size (px)

Citation preview

Page 1: Bài 2 - Winforms - Visual C# 2010

XÂY DỰNG WINDOWS FORMS APPLICATION

Bài 2

Page 2: Bài 2 - Winforms - Visual C# 2010

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:

Page 3: Bài 2 - Winforms - Visual C# 2010

1. Khởi tạo

Page 4: Bài 2 - Winforms - Visual C# 2010

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

Page 5: Bài 2 - Winforms - Visual C# 2010

2. Màn hình giao diện của Windows Forms

Page 6: Bài 2 - Winforms - Visual C# 2010

2. Màn hình giao diện của Windows Forms

Page 7: Bài 2 - Winforms - Visual C# 2010

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.

Page 8: Bài 2 - Winforms - Visual C# 2010

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.

Page 9: Bài 2 - Winforms - Visual C# 2010

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.ữ ủ

Page 10: Bài 2 - Winforms - Visual C# 2010

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.ượ

Page 11: Bài 2 - Winforms - Visual C# 2010

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.ế ạ ả ủ

Page 12: Bài 2 - Winforms - Visual C# 2010

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)ề

Page 13: Bài 2 - Winforms - Visual C# 2010

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)ộ

Page 14: Bài 2 - Winforms - Visual C# 2010

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ậ ộ

Page 15: Bài 2 - Winforms - Visual C# 2010

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ị ủ

Page 16: Bài 2 - Winforms - Visual C# 2010

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);

Page 17: Bài 2 - Winforms - Visual C# 2010

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

Page 18: Bài 2 - Winforms - Visual C# 2010

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

Page 19: Bài 2 - Winforms - Visual C# 2010

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

Page 20: Bài 2 - Winforms - Visual C# 2010

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();

Page 21: Bài 2 - Winforms - Visual C# 2010

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.ươ

Page 22: Bài 2 - Winforms - Visual C# 2010

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.ọ ế ị ấ

Page 23: Bài 2 - Winforms - Visual C# 2010

II.6. Ví dụ T o Form đ t tên là ạ ặ frmLogin nh hìnhư

Page 24: Bài 2 - Winforms - Visual C# 2010

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.ậ ẩ

Page 25: Bài 2 - Winforms - Visual C# 2010

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");

Page 26: Bài 2 - Winforms - Visual C# 2010

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();

Page 27: Bài 2 - Winforms - Visual C# 2010

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();

Page 28: Bài 2 - Winforms - Visual C# 2010

II.6. Ví dụ T o Form đ t tên là ạ ặ frmMain nh hìnhư

Page 29: Bài 2 - Winforms - Visual C# 2010

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());

Page 30: Bài 2 - Winforms - Visual C# 2010

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();

Page 31: Bài 2 - Winforms - Visual C# 2010

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);

Page 32: Bài 2 - Winforms - Visual C# 2010

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 ?

Page 33: Bài 2 - Winforms - Visual C# 2010

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ấ ị ượ ọ

Page 34: Bài 2 - Winforms - Visual C# 2010

II.7. ListBox T o form nh sau:ạ ư

Page 35: Bài 2 - Winforms - Visual C# 2010

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 ?ở ạ ấ ọ

Page 36: Bài 2 - Winforms - Visual C# 2010

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ị

Page 37: Bài 2 - Winforms - Visual C# 2010

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ọ ọ

Page 38: Bài 2 - Winforms - Visual C# 2010

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ề

Page 39: Bài 2 - Winforms - Visual C# 2010

II.10. GroupBox T o form nh sau:ạ ư

Page 40: Bài 2 - Winforms - Visual C# 2010

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);}

Page 41: Bài 2 - Winforms - Visual C# 2010

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ỳả ờ ị

Page 42: Bài 2 - Winforms - Visual C# 2010

II.11. Timer T o form nh sau:ạ ư

Page 43: Bài 2 - Winforms - Visual C# 2010

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;

Page 44: Bài 2 - Winforms - Visual C# 2010

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