Tải bản đầy đủ (.pdf) (97 trang)

Giáo trình lập trình window 2 (nghề lập trình máy tính trình độ cao đẳng)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.29 MB, 97 trang )

ỦY BAN NHÂN DÂN TỈNH AN GIANG

TRƢỜNG CAO ĐẲNG NGHỀ AN GIANG

GIÁO TRÌNH

MƠ ĐUN : Lập trình window 2
NGHỀ : LẬP TRÌNH MÁY TÍNH
TRÌNH ĐỘ : CAO ĐẲNG
(Ban hành theo Quyết định số:
/QĐ-CĐN, ngày tháng
của Hiệu trưởng trường Cao đẳng nghề An Giang)

năm 20

An Giang, 2019

1


TUYÊN BỐ BẢN QUYỀN
Tài liệu này thuộc loại sách giáo trình nên các nguồn thơng tin có thể được
phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo.
Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh
doanh thiếu lành mạnh sẽ bị nghiêm cấm.
LỜI GIỚI THIỆU
“LẬP TRÌNH WINDOW 2” là mođul đƣợc bố trí sau mơn học Lập trình
window 1, với u cầu ngƣời học phải có kiến thức lập trình căn bản và kiến
thức về ngơn ngữ lập trình C#.
Với chƣơng trình mơn học 90 giờ, cuốn giáo trình này cung cấp cho sinh
viên cách thức lập trình theo mơ hình Server/Client cũng nhƣ các kiến thức về


lập trình nâng cao trong windows.
Cuốn Giáo trình này bao gồm một số nội dung chính:
Bài 1: Visual Studio .NET và các đối tƣợng
Bài 2: Các hộp thoại
Bài 3: Các hộp thoại tập tin
Bài 4: Thực đơn
Bài 5: Thanh trạng thái
Bài 6: Một số tính năng khác
Bài 7: Truy cập và xử lý cơ sở dữ liệu
Bài 8: Lập báo cáo với CrystalReport
Trong quá trình biên soạn, mặc dù bản thân đã cố gắng hồn thiện giáo
trình nhƣng khơng tránh khỏi những thiếu sót, hạn chế. Mong đƣợc đồng
nghiệp và sinh viên đóng góp ý kiến để giáo trình ngày càng hoàn thiện hơn.
An Giang, ngày

tháng

năm 20

Tham gia biên soạn
Trần Thị Kim Ngọc

2


MỤC LỤC
ĐỀ MỤC

1. Lời giới thiệu
2. Mục lục

3. Giáo trình modun
4. Nội dung giáo trình
Bài 1: Visual Studio. Net và các đối tƣợng
I/ Lập trình với Visual Studio .NET
II/ Thêm và điều chỉnh các điều khiển
III/ Tải các tập tin
IV/ Thay đổi kích thước các Form
V/ Sự thừa kế form
VI/ Các nhãn và hộp nhập văn bản, lớp nút nhấn
VII/ Các sự kiện bàn phím và chuột
VIII/ ListBox, ComboBox,Calender
IX/ Image,ImageList
X/ Toolbar, Tab, Tab page, Tooltip
XI/ ListView, TreeView
XII/ Bài tập
Bài 2: Các hộp thoại:

I/ Hộp thoại thông điệp
II/ Phương thức Form.Close
III/ Bài tập
Bài 3: Các hộp thoại tập tin

I/ Tập tin và đường dẫn
II/ Hộp thoại lưu tập tin
III/ Hộp thoại mở tập tin
IV/ Bài tập
Bài 4: Thực đơn
I/ Thực đơn chính
II/ Các sự kiện popup và chia sẻ
III/ Thực đơn ngữ cảnh

IV/ Bài tập
Bài 5: Thanh trạng thái
I/ Lớp StatusBar
II/ Các bảng (panel) thanh trạng thái
III/ Thanh trạng thái tự vẽ
IV/ Bài tập
Bài 6: Một số tính năng khác
I/ Các ứng dụng MDI
II/ Registry và tập tin .ini
III/ Kéo và thả
IV/ Kéo và kết dính
V/ Bài tập
Bài 7: Truy cập và xử lý cơ sở dữ liệu

TRANG

2
3
5
6
6
9
11
13
14
15
16
21
25
25

27
31
47

47
49
49

51
51
52
53
53
56
56
58
58
59
61
61
61
62
63
64
64
65
66
68
72
74

3


I/ Tổng quan về ADO.NET
II/ Các công cụ kết nối dữ liệu
III/ Hiển thị dữ liệu, lọc dữ liệu
IV/ Thao tác với dữ liệu
V/ Bài tập
Bài 8: Lập báo cáo với CrystalReport
I/ Giới thiệu công cụ Crystal Report
II/ Gắn kết dữ liệu vào báo cáo
III/ Xây dựng và triển khai báo cáo
IV/ Bài tập
Các thuật ngữ chuyên môn
Tài liệu tham khảo

74
75
78
81
82
89
89
90
90
95
97
97

4



GIÁO TRÌNH MƠ ĐUN
Tên mơ đun: LẬP TRÌNH WINDOW 2
Mã mơ đun: MĐ 29
I. Vị trí, tính chất, ý nghĩa và vai trị của mơ đun:
- Vị trí: Mơ đun này thuộc nhóm mơn chun ngành, được bố trí sau các mơn:
Lập trình Window 1. Mơn học này u cầu người học phải có kiến thức lập trình
căn bản và kiến thức về ngơn ngữ lập trình C#.
- Tính chất: Là môn học chuyên ngành bắt buộc. Đây là mô đun chứa đựng
kiến thức nền tảng về lập trình Windows Form, lập trình kết nối cơ sở dữ liệu.
- Ý nghĩa và vai trị của mơ đun: Mơ đun này là nền tảng giúp người học xây
dựng được một ứng dụng quản lý trên nền Windows Form.
II. Mục tiêu mô đun:
- Kiến thức: Trình bày được quy trình: Tạo các ứng dụng, tạo được các ứng
dụng cơ sở dữ liệu trên nền Windows. Lập trình và sử dụng được các đối tượng
của .NET. Tạo được ứng dụng cơ sở dữ liệu với các báo cáo bằng CrystalReport.
Sử dụng được hệ thống registry và tập tin .ini để lưu trữ thông tin chương trình.
Tạo ra các ứng dụng MDI.
- Kỹ năng: Tạo các ứng dụng, tạo được các ứng dụng cơ sở dữ liệu trên nền
Windows. Lập trình và sử dụng được các đối tượng của .NET. Tạo được ứng dụng
cơ sở dữ liệu với các báo cáo bằng CrystalReport. Sử dụng được hệ thống registry
và tập tin .ini để lưu trữ thơng tin chương trình. Tạo ra các ứng dụng MDI.
- Năng lực tự chủ và trách nhiệm: Hình thành kỹ năng làm việc cẩn thận,
nghiêm túc.
III. Nội dung mô đun:

Số
TT
1

2
3
4
5
6
7
8
9

Tên các bài trong mô đun

Tổng
số

Bài 1: Visual Studio. Net và
các đối tượng
Bài 2: Các hộp thoại
Bài 3: Các hộp thoại tập tin
Bài 4: Thực đơn
Bài 5: Thanh trạng thái
Bài 6: Một số tính năng khác
Bài 7: Truy cập và xử lý cơ sở
dữ liệu
Bài 8: Lập báo cáo với
CrystalReport
Ôn tập
Cộng

24


Thời gian (giờ)
Thực hành,
thí nghiệm,

thuyết thảo luận,
bài tập
8
16

Kiểm
tra
1

4
8
4
4
4
28

1
2
2
1
2
10

3
6
2

3
2
18

0
0
0
0
0
1

12

4

7

1

30

2
57

3

2
90

5



BÀI 1: VISUAL STUDIO .NET VÀ CÁC ĐỐI TƢỢNG
Giới thiệu:
Bài học này giúp chúng ta thiết kế giao diện với Visual Studio.Net, các thao
tác cơ bản trên Form Application, kiến thức về sự thừa kế form và kỹ năng về việc
sử dụng các đối tượng, việc lựa chọn các sự kiện sử dụng cho phù hợp.
Mục tiêu:
Sau khi học xong bài học, người học có khả năng :
- Trình bày được cách tạo một Project dạng Form Application.
- Trình bày được chức năng các cửa sổ của Visual Studio .Net IDE.
- Thiết kế và thay đổi các thuộc tính của form.
- Vận dụng các control cơ bản trong thiết kế.
Nội dung chính:
I/ LẬP TRÌNH VỚI VISUAL STUDIO.NET
Visual Studio .NET Integrated Development Environment (IDE).
Cung cấp cho chúng ta những giao diện chung cho việc phát triển nhiều loại
dự án khác nhau trên nền tảng .NET .IDE cho phép khả năng thiết kế giao diện
người dùng cho ứng dụng, viết mã lệnh, biên dịch, và kiểm lỗi cho ứng dụng.
Visual Studio .NET cung cấp nhiều ngôn ngữ để phát triển ứng dụng trong bộ
.NET của Microsoft như: Visual Basic, Visual C#, Visual C++….
Tạo một dự án trong Visual Studio .Net
Chạy ứng dụng Visual Studio 2008 từ thực đơn Start \ Program \ Microsoft
Visual Studio 2008 \ Microsoft Visual Studio 2008.
Tạo mới ứng dụng bằng cách nhấn vào menu File \ New \ Project. Cửa sổ tạo
mới Project xuất hiện.

Hình 1.1: Cửa sổ New Project
6



Trong cửa sổ New Project, Project Types hiển thị danh mục những kiểu
project mà chúng ta có thể tạo trong VS. Chúng ta quan tâm tới hai loại project đó
là Visual C# và Setup and Deployment. Trong khi Visual C# là kiểu dự án cho
phép tạo ra ứng dụng bằng ngơn ngữ C#, thì Setup and Deployment là kiểu project
để triển khai dự án đến người dùng cuối.
Chọn Visual C# Windows tại Project Types.
Ở cửa sổ Templates, một số mẫu ứng dụng có sẵn để giúp người phát triển
nhanh chóng tạo ra ứng dụng phù hợp theo yêu cầu. Có các kiểu project template
sau cần chú ý nhất:
- Windows Application: được dùng để tạo những ứng dụng Windows.
- Class Library: sử dụng để tạo ra những component sử dụng lại trong các
dự án khác.
- Windows Controls Library: tạo những công cụ cho môi trường ứng dụng
Window.
- Console Application: tạo ra ứng dụng console chạy từ dòng lệnh, giao
diện ký tự.
Chọn Windows Application
Đặt tên cho dự án đầu tiên là HelloWindow tại Name
Chọn thư mục lưu trữ dự án tại Location
Click OK
Màn hình dự án xuất hiện như sau:

Hình 1.2: Màn hình Form 1 khi tạo Project Window Form đầu tiên
Chúng ta quan tâm đến những cửa sổ sau:
7


- Window Form: nơi sử dụng để thiết kế giao diện chương trình.
- ToolBox: chứa đựng những controls được xây dựng sẵn. Có nhiều tab

trong cửa sổ ToolBox liệt kê những control theo những loại khác nhau.
- Solution Explorer: liệt kê tên dự án, những file thiết kế, mã nguồn, …
của ứng dụng.
- Properties Window: cửa sổ chứa đựng những thuộc tính của một
control nào đó, ví dụ Form1 có các thuộc tính như Text, StartPosition,
ShowinTaskBar…
- Error List: nơi xuất hiện những lỗi của chương trình .
Tiếp tục thực hiện ứng dụng…, tại Window Form, click chuột phải, một
popup Menu xuất hiện, trong đó có mục View Code, mục này cho phép xuất hiện
cửa sổ soạn thảo mã lệnh điều khiển chương trình .

Hình 1.3: Màn hình cửa sổ chọn view code.
Cửa sổ mã lệnh chương trình hiển thị như sau:

Hình 1.4: Màn hình viết mã lệnh
8


Tiếp tục thực hiện ứng dụng…, trở lại màn hình Window Form, double click
vào Form1, và soạn thảo mã lệnh như sau vào hàm Form_Load() do chương trình
khởi tạo.
private void Form1 Load(object sender, EventArgs e)
{
MessageBox.Show(“Welcome to Window Form”);
}
Chọn menu Debug ->Start Debugging (hoặc nhấn F5) để chạy ứng dụng.
Các thao tác trong Project:
Thêm một Form mới vào Project:
Tạo project
Cách 1. Vào menu Project | Add New Item …

Cách 2. Chọn công cụ Add New Item trên thanh Standard
Khai báo
- Categories: chọn Windows Forms
- Templates: chọn Windows Form
- Name: đặt tên Form
Nhắp Add
Thêm một Form có sẵn vào Project:
Vào menu Project | Add Existing Item …
Chọn Form
Nhắp Add
Xóa bỏ một Form đang có trong Project:
Chọn Form cần gỡ bỏ (ở cửa sổ Solution Explorer)
Vào menu Edit | Delete
Lƣu Form
Vào menu File | Save Form.cs
Ctrl + S
II/ THÊM VÀ ĐIỀU CHỈNH CÁC ĐIỂU KHIỂN
1/ Thêm các điều khiển
Có 4 cách để thêm một điều khiển vào Form Designer:
Di chuyển điều khiển từ Toolbox vào nơi chứa điều khiển trên Form
Chọn 1 điều khiển trên Toolbox và vẽ điều khiển trên Form
Chọn 1 điều khiển trên Toolbox và double-click trên Form
Double-click điều khiển trên Toolbox.

9


Hình 1.5: Màn hình giao diện thêm điều khiển vào Form
Mỗi control sẽ được xác định bằng thuộc tính Name. Thuộc tính này dùng để
xác định control khi lập trình

Lưu ý: Cần đặt tên Name sao cho gợi nhớ
Control

Tiếp đầu ngữ

Biểu tƣợng

txt
Textbox Ví dụ: txtHoTen, txtTuoi
btn
Ví dụ: btnOK, btnCancel
lbl
Label Ví dụ: lblThongBao
2/ Xóa điều khiển
Chọn điều khiển cần xóa và bấm phím Delete
3/ Điều chỉnh điều khiển
Thay đổi kích thước
- Chọn điều khiển, và drag chuột 1 góc muốn thay đổi.
- Thay đổi giá trị Size của Height or Width ở Property Grid.
Sắp xếp vị trí các điều khiển
- Dùng chuột và drag điều khiển đến vị trí muốn đặt trên Form.
- Đặt thuộc tính Location của điều khiển ở Property Grid.
- Sử dụng công cụ.
Thay đối khoảng cách điều khiển với Layout Toolbar
Button

10


4/ Các loại chứa điều khiển

Các loại chứa điều khiển như panel, GroupBox. Và cách thêm các loại chứa
điều khiển tương tự như thêm một điều khiển.
GroupBox
- Hiển thị một khung bao quanh một nhóm control
- Có thể hiển thị một tiêu đề
- Thuộc tính Text
- Khi xóa một GroupBox thì các control chứa trong nó bị xóa theo
- Lớp GroupBox kế thừa từ System.Windows.Forms.Control
Panel
- Chứa nhóm các control
- Khơng có caption
- Có thanh cuộn (scrollbar)
- Xem nhiều control khi kích thước panel giới hạn
GroupBox
Mơ tả
Thuộc tính thường dùng
Controls
Text

Danh sách control chứa trong GroupBox.
Caption của GroupBox

Panel
Thuộc tính thường dùng
AutoScroll
Xuất hiện khi panel quá nhỏ để hiển thị hết
các control, mặc định là false
BorderStyle
Biên của panel, mặc định là None, các tham
số khác như Fixed3D, FixedSingle

Controls
Danh sách control chứa trong panel

III/ TẢI CÁC TẬP TIN
Dotnetbar giúp chúng ta tạo nên một giao diện người dùng bắt mắt, hiệu ứng
đẹp, cùng nhưng control được thiết kế sao cho tính tiện dụng đạt cao nhất

11


Hình 1.6: Màn hình giao diện DotNetBar
Cách thêm DotNetBar vào c#
Click phải lênh ToolBox chọn Choose item

Hình 1.7: Giao diện chọn Choose ToolBox Items
12


Click phải lệnh Project chọn Add Reference

Hình 1.8: Giao diện Add Reference
IV/ THAY ĐỔI KÍCH THƢỚC CÁC FORM
Một Windows Form là một cửa sổ được xuất hiện trong một ứng dụng. Mỗi
Windows Form là một lớp được kế thừa từ lớp Form nằm trong Namespace
System.Windows.Forms
Thuộc tính Windows Form
Những thuộc tính chung của Windows Form được liệt kê theo bảng sau:
Properties
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à Form 1
BackColor
Thuộc tính xác định màu nền của Form
BackgroundImage
Thuộc tính xác định hình nền của Form
Font
Thuộc tính xác định kiểu, kích thước, và loại font được
hiển thị trên form và trong những controls trong form.
Size
Kích thước của form bao gồm Width và Height
Start Position
Thuộc tính xác định vị trí 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ục vụ vào vị trí
xuất hiện của nó
CenterScreen-Xuất hiện ở chính giữa màn hình
Windows DefaultLocation –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ục thuộc
13


vào hệ điều hành Windows
Center Parent-Form được mở như một cửa sổ con của một
form khác và xuất hiện tại vị trí chính giữa so với form cha.
Text
Xác định tiêu đề của form tại Title Bar
WindowState

Xác định trạng thái xuất hiện của form: Normal,
Maximized hay Minimized.
Sự kiện trong Windows Form :
Những sự kiện trong Windows Form được liệt kê như bảng sau:
Events
Mô tả
Click
Sự kiện này xảy ra khi người dùng click vào bất kỳ nơi nào
trên Windows Form
Closed
Sự kiện này xảy ra khi một form được đóng lại
Deactivate
Sự kiện này xảy ra khi một form bị mất trạng thái sử dụng
Load
Sự kiện này xảy ra khi một form được tải trong bộ nhớ cho
lần đầu tiên
MouseMove
Sự kiện này xuất hiện khi chuột được rê trên một form
MouseDown
Sự kiện xảy ra khi chuột được nhấn trên form
MouseUp
Sự kiện xảy ra khi chuột được thả trên form.
Hàm thao tác với Windows Form
Methods
Mô tả
Show()
Được sử dụng để xuất hiện một form bằng cách set thuộc
tính Visible của form đó là True
Sử dụng để kích hoạt trạng thái sử dụng của Form và đưa
trạng thái sử dụng về Form đó.

Close()
Dùng để đóng một Form
SetDesktopLocation() Hàm này dùng để định vị trí của Form trên màn hình
Activate()

V/ SỰ THỪA KẾ FORM
Một Windows Form là một cửa sổ được xuất hiện trong một ứng dụng. Mỗi
Windows Form là một lớp được kế thừa từ lớp Form nằm trong Namespace
System.Windows.Forms.
Sơ đồ kế thừa
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Control
System.Windows.Forms.ScrollableControl
System.Windows.Forms.ContainerControl
System.Windows.Forms.Form
public class Form : ContainerControl
{
// Methods
public void Activate();
14


}

public void AddOwnedForm(Form ownedForm);
public void Close();
public void LayoutMdi(MdiLayout value);
// Properties

public bool ShowIcon { get; set; }
public bool ShowInTaskbar { get; set; }
public Size Size { get; set; }
public FormStartPosition StartPosition { get; set; }
// Events
public event EventHandler Closed;
public event CancelEventHandler Closing;
public event EventHandler Deactivate;
// Mics
protected override void DefWndProc(ref Message m);
protected override void WndProc(ref Message m);
protected override void Dispose(bool disposing);


VI/ CÁC NHÃN VÀ HỘP NHẬP VĂN BẢN, LỚP NÚT NHẤN
1/ Label
Công dụng: Control được sử dụng để hiển thị chữ trên form và không cho
phép người dùng thay đổi. Label được sử dụng để mô tả thông tin cho những
control khác trên Form.
Ví dụ:
Dịng chữ xuất hiện bên trên TextBox đó là Label, có mục đích giải thích cho
TextBox.
Tạo Label:
- Chọn cơng cụ
- Rê chuột và vẽ Label trên form.
Thuộc tính cơ bản:
Thuộc tính
Ý nghĩa
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
Name
Quy định font chữ cho văn bản
Bold
True:Đậm/False:bỏ đậm
Italic
True:Nghiêng/False:bỏ nghiêng
Size
Quy định cỡ chữ cho văn bản
TextAlign
Canh lề(Left/Center/Right)
2/ Textbox
Cơng dụng:
- 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.
15


- Cơng dụng chính là cho người dùng nhập văn bản. Mặc định giá trị lớn nhất
mà TextBox nhận là 2048 ký tự.
Ví dụ:
Tạo TextBox:
- Chọn cơng cụ
- Rê chuột và vẽ TextBox trên form.
Thuộc tính cơ bản:
Thuộc tính
Ý nghĩa
Text
Xác định giá trị hiển thị bên trong TextBox

Multiline
Cho phép TextBox hiển thị nhiều dịng chữ
PassWordChar
Thuộc tính này cho phép lấy một ký tự làm đại diện cho tất
cả các ký tự khác được nhập vào từ người dùng
3/ Button
Công dụng:
- 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.
- Sự kiện click được sử dụng khi người dùng nhấn vào nó:
private void button1_Click(object sender, EventArgs e)
{
this.button1.Text = this.Text;
}
Tạo Button:
- Chọn công cụ
- Rê chuột và vẽ Button trên form.
Thuộc tính cơ bản:
Thuộc tính
Ý nghĩa
Text
Nhập nội dung vào Button
4/ CheckBox
Công dụng:Cho phép người dùng chọn hoặc không chọn.
Tạo CheckBox:
- Chọn công cụ
- Rê chuột và vẽ CheckBox trên form.
Thuộc tính cơ bản:
Thuộc tính

Ý nghĩa
Checked
Khơng có dấu check(False)/Có dấu check(True)
VII/ CÁC SỰ KIỆN BÀN PHÍM VÀ CHUỘT
- 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.

16


- Nhờ có các sự kiện từ bàn phím và chuột, 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.
1/ Sự kiện bàn phím
Phát sinh khi một phím được nhấn hoặc thả
Có 3 sự kiện:
KeyPress
KeyUp
KeyDown
KeyPress phát sinh kèm theo với mã ASCII của phím được nhấn
KeyPress khơng cho biết trạng thái các phím bổ sung {Shift, Alt, Ctrl…}
Sử dụng KeyUp & KeyDown để xác định trạng thái các phím bổ sung.
Sự kiện với tham số kiểu KeyEventArgs
KeyDown
Phát sinh khi phím được nhấn
KeyUp
Phát sinh khi phím được thả
Sự kiện với tham số kiểu KeyPressEventArgs
KeyPress
Khởi tạo khi phím được nhấn

Thuộc tính của lớp KeyPressEventArgs
KeyChar
Chứa ký tự ASCII của phím được nhấn
Handled
Cho biết sự kiện KeyPress có được xử lý chưa
Thuộc tính của lớp KeyEventArgs
Alt, Control, Shift
Trạng thái các phím bổ sung
Handled
Cho biết sự kiện đã xử lý
KeyCode
Trả về mã ký tự được định nghĩa trong Keys
enumeration
KeyData
Chứa mã ký tự với thông tin phím bổ sung
KeyValue
Trả về số int, đây chính là mã Windows Virtual
Key Code
Modifier
Trả về giá trị của phím bổ sung
Ví dụ minh họa các sự kiện: KeyPress, KeyDown, KeyUp
Khi user nhấn một phím
Bắt sự kiện KeyPress: xuất ra phím được nhấn
Bắt sự kiện KeyDown: xuất ra các tham số trong KeyEventArgs
Khi user thả phím
Xóa các thơng tin mơ tả phím được nhấn trong các label
Cách thực hiện
Tạo một form minh họa

17



Thiết kế trên form có 2 Label:
lblChar: hiển thị ký tự được nhấn trong KeyPress
lblKeyInfo: hiển thị các thông tin của KeyEventArgs khi KeyDown
Tạo KeyPress Event Handling cho form

private void Form1_KeyPress(Object sender, KeyPressEventArgs e0
{//Hiển thị ký tự trên label
lblChar.Text=”Key pressed:”+e.KeyChar;
}
Tạo KeyDown Event Handling cho form

18


private void Form1_KeyDown(object sender, KeyEventArgs e)
{
lblKeyInfo.Text=
“Alt:”+(“e.Alt?”Yes”:”No”)+’\n\+
“Shift:”+(“e.Shift?”Yes”:”No”)+’\n\+
“Ctrl:”+(“e.Control?”Yes”:”No”)+’\n\+
“KeyCode: “+e.KeyCode+’\n\’+
“KeyData:”+ e.KeyData+’\n’+
“KeyValue:”+e.KeyValue+’\n’;
}
2/ Sự kiện chuột
Mouse là thiết bị tương tác thông dụng trên GUI
Một số các thao tác phát sinh từ mouse.
Di chuyển

Kích chuột
Ứng dụng cần xử lý sự kiện chuột nào sẽ khai báo trình xử lý tương ứng.
Lớp MouseEventArgs được sử dụng để chứa thơng tin truyền vào cho trình xử
lý sự kiện mouse.
Mỗi trình xử lý sự kiện sẽ có tham số là đối tượng object và đối tượng
MouseEventArgs (hoặc EventArgs)
Sự kiện chuột với tham số kiểu EventArgs
MouseEnter
Xuất hiện khi con trỏ chuột đi vào vùng biên của
control
MouseLeave
Xuất hiện khi con trỏ chuột rời khỏi biên của
control
Sự kiện chuột với tham số kiểu MouseEventArgs
MouseDown/
Xuất hiện khi button được nhấn/thả và con trỏ
MouseUp
chuột đang ở trong vùng biên của control
MouseMove
Xuất hiện khi chuột di chuyển và con trỏ chuột ở
trong vùng biên của control
Button
Button được nhấn {Left, Right, Middle, none} có
kiểu là MouseButtons
Clicks
Số lần button được nhấn
X

Tọa độ x của con trỏ chuột trong control


Y

Tọa độ y của con trỏ chuột trong control

Ví dụ minh họa kích chuột trái tại một điểm A, giữ chuột trái và di chuyển
chuột, chương trình sẽ vẽ đường thẳng từ điểm A đến vị trí hiện tại chuột.
Các sự kiện cần xử lý
MouseDown:
Xác định điểm A ban đầu
MouseMove
Kiểm tra nếu Left button của chuột đang giữ
19


Sử dụng Graphics để vẽ đường thẳng từ A đến vị trí hiện tại
Cách thực hiện:
Tạo biến lưu trữ điểm A khi user kích chuột trái
Biến pA có kiểu Point là biến thành viên của Form1
public partial class Form1:Form
{
private Point Pa;
public Form1()
{
InitializeComponent();
}
}
Khai báo xử lý sự kiện MouseDown trong Form1
Trong cửa sổ event của Form1, kích đúp vào sự kiện MouseDown

private void Form1_MouseDown(object sender, MouseEventArgs e)

{
//lưu lại điểm thứ 1
pA=e.Location;
}
Cài đặt xử lý sự kiện MouseMove
Kiểm tra nếu LeftButton được nhấn
Vẽ đường thẳng từ pA đến vị trí hiện tại
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if(e.Button==MouseButtons.Left)//LeftButton được nhấn
{
Graphics g=this.CreateGraphics(); //lấy thiết bị đồ họa
Pen pen=new Pen(Color.Red,2f); //tạo bút vẽ
20


}

g.DrawLine(pen,pA,e.Location);// vẽ đường thẳng
}

VIII/ LISTBOX, COMBOBOX,CALENDER
1/ ListBox
Công dụng: Dùng để hiển thị một danh sách các phần tử lựa chọn. Người
dùng có thể chọn một trong những phần tử này.

Ta có thể thêm danh mục những phần tử vào trong một ListBox bằng cách,
chọn ListBox, tại cửa sổ Properties Window, chọn thuộc tính Items, nhấn vào nút
và cửa sổ
String Collection Editor xuất hiện.

Tạo ListBox:
Chọn công cụ

Rê chuột và vẽ ListBox trên form.
21


Thuộc tính cơ bản:
Tên thuộc tính
Ý nghĩa
SelectionMode
Xác định cách thức mà người dùng lựa chọn những phần từ
trong ListBox. Có 4 giá trị
None: Người dùng không thể chọn bất cứ phần tử nào
trong ListBox
One: Người sử dụng chỉ chọn một giá trị từ ListBox
MultiSimple: Cho phép người sử dụng chọn nhiều phần
tử từ ListBox
MultiExtended: Người dùng có thể chọn nhiều phần tử
và sử dụng phím SHIFT, CTRL và phím mũi tên để chọn
những phần tử từ ListBox
Sorted
Thuộc tính xác định khi nào những phần tử trong ListBox có
thể được sắp xếp
SelectedIndex
Thuộc tính cho phép gán hoặc nhận vị trí được chọn hiện tại
trong ListBox
SelectedItem
Thuộc tính này được dùng để gán hoặc nhận phần tử đang
được chọn

Phƣơng thức:
Phƣơng thức
Công dụng
Add(“Chuỗi”)
Thêm một mục giá trị là chuỗi
ToString()
Trả về chuỗi ký tự được chọn
Nhập giá trị vào ListBox: <Ten_ListBox>.Items.Add ("Chuỗi") ;
Lấy giá trị trong ListBox: <Ten_ListBox>.SelectedItem.ToString() ;
Sự kiện thường dùng: SelectedIndexChanged: Xảy ra khi chọn một dòng.
Ngầm định khi nháy đúp ở chế độ thiết kế.

Ví dụ 1.1: Xây dựng Form
private void btnAdd_Click(object sender, EventArgs e)
{
listBox1.Items.Add(txtInput.Text);
}
private void btnRemove_Click(object sender,EventArgs e)
{
22


int row=ListBox1.SelectedIndex;
if(row!=-1) listBox1.Items.RemoveAt(row);

}
private void btnClear_Click(object sender,EventArgs e)
{
listBox1.Items.Clear();
}

2/ ComboBox
Công dụng: 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ị. Là sự kết hợp giữa ListBox và TextBox.

Tạo ComboBox:
- Chọn công cụ

- Rê chuột và vẽ ComboBox trên form.
Thuộc tính:
Thuộc tính
Ý nghĩa
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
SelectedText
Lấ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
DropDownStype
Xác định kiểu của ComboBox
Simple: Chọn hoặc gõ giá trị
DropDown(mặc định): Chọn hoặc gõ giá trị
DropDownList: Chỉ cho phép chọn giá trị
SelectedIndex
Chỉ số dịng được chọn. Nếu khơng chọn có giá trị là -1

Sorted
Có/Khơng sắp xếp dữ liệu trong ComboBox. Mặc định là
False
23


Sự kiện thường dùng:SelectedIndexChanged: Xảy ra khi chọn 1 dòng.
Các phương thức thường dùng:
Add: Thêm một dịng vào ComboBox
RemoveAt(row): Xóa dịng ở vị trí row
Clear: Xóa tất cả các dịng trong ComboBox
3/ Calendar
Calendar được sử dụng để hiển thị ngày tháng. Người sử dụng có thể xem
ngày tháng theo tuần hoặc tháng.

Tạo Calendar
- Chọn công cụ

- Kéo và thả vào form.
Những thuộc tính thƣờng sử dụng bao gồm:
Thuộc tính
Ý nghĩa
DayNameFormat
Thuộc tính này được sử dụng để xác định định dạng tên
của những ngày trong tuần
VisibleDay
Được sử dụng để xác định tháng được xuất hiện hay
khơng trong Calendar. Thuộc tính này được cập nhật sau
khi sự kiện VisibleMonthChanged được thực hiện
FirstdayOfWeek

Thuộc tính này được sử dụng để xác định ngày của tuần
được xuất hiện tại cột đầu tiên của điều khiện Calendar
SelectedDate
Thuộc tính này được dùng để biểu diễn cho ngày được
chọn trong điều khiển Calendar
SelectionMode
Thuộc tính này được sử dụng để xác định khi nào một
người dùng có thể chọn một ngày, một tuần, hoặc một
tháng. Mặc định, giá trị của thuộc tính này là Day

24


IV/ IMAGE,IMAGELIST
1/ Picture Box
Cơng dụng: Là khung chứa hình ảnh.
Tạo PictureBox:
- Chọn công cụ
- Rê chuột và vẽ Picture Box.
Thuộc tính cơ bản:
Thuộc tính
Ý nghĩa
Image
Hình chứa trong Picture Box
2/ ImageList
Cơng dụng: Quản lý các hình ảnh được chứa trong các điều khiển khác như:
ListView, TreeView, ToolStrip,…
Tạo ImageList: Chọn công cụ và kéo thả vào form.

Các thuộc tính thƣờng dùng:

Thuộc tính
Ý nghĩa
Image
Các hình được quản lý bởi ImageList
- Khi chọn
sẽ xuất hiện cơng cụ Images Collection Editor, cho phép thêm,
xố, sắp xếp các ảnh.

X/ TOOLBAR, TAB, TAB PAGE, TOOLTIP
1/ Toolbar
25


×