- Trang Chủ
- Kỹ thuật lập trình
- Giáo trình Lập trình window 2 (Nghề: Lập trình máy tính - Trình độ Cao đẳng) - Trường Cao đẳng Nghề An Giang
Xem mẫu
- Ủ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 năm 20
của Hiệu trưởng trường Cao đẳng nghề An Giang)
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 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#.
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 hoà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 TRANG
1. Lời giới thiệu 2
2. Mục lục 3
3. Giáo trình modun 5
4. Nội dung giáo trình
Bài 1: Visual Studio. Net và các đối tƣợng 6
I/ Lập trình với Visual Studio .NET 6
II/ Thêm và điều chỉnh các điều khiển 9
III/ Tải các tập tin 11
IV/ Thay đổi kích thước các Form 13
V/ Sự thừa kế form 14
VI/ Các nhãn và hộp nhập văn bản, lớp nút nhấn 15
VII/ Các sự kiện bàn phím và chuột 16
VIII/ ListBox, ComboBox,Calender 21
IX/ Image,ImageList 25
X/ Toolbar, Tab, Tab page, Tooltip 25
XI/ ListView, TreeView 27
XII/ Bài tập 31
Bài 2: Các hộp thoại: 47
I/ Hộp thoại thông điệp 47
II/ Phương thức Form.Close 49
III/ Bài tập 49
Bài 3: Các hộp thoại tập tin 51
I/ Tập tin và đường dẫn 51
II/ Hộp thoại lưu tập tin 52
III/ Hộp thoại mở tập tin 53
IV/ Bài tập 53
Bài 4: Thực đơn 56
I/ Thực đơn chính 56
II/ Các sự kiện popup và chia sẻ 58
III/ Thực đơn ngữ cảnh 58
IV/ Bài tập 59
Bài 5: Thanh trạng thái 61
I/ Lớp StatusBar 61
II/ Các bảng (panel) thanh trạng thái 61
III/ Thanh trạng thái tự vẽ 62
IV/ Bài tập 63
Bài 6: Một số tính năng khác 64
I/ Các ứng dụng MDI 64
II/ Registry và tập tin .ini 65
III/ Kéo và thả 66
IV/ Kéo và kết dính 68
V/ Bài tập 72
Bài 7: Truy cập và xử lý cơ sở dữ liệu 74
3
- I/ Tổng quan về ADO.NET 74
II/ Các công cụ kết nối dữ liệu 75
III/ Hiển thị dữ liệu, lọc dữ liệu 78
IV/ Thao tác với dữ liệu 81
V/ Bài tập 82
Bài 8: Lập báo cáo với CrystalReport 89
I/ Giới thiệu công cụ Crystal Report 89
II/ Gắn kết dữ liệu vào báo cáo 90
III/ Xây dựng và triển khai báo cáo 90
IV/ Bài tập 95
Các thuật ngữ chuyên môn 97
Tài liệu tham khảo 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 chuyên ngành, được bố trí sau các môn:
Lập trình Window 1. Môn học này 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:
Thời gian (giờ)
Thực hành,
Số
Tên các bài trong mô đun Tổng Lý thí nghiệm, Kiểm
TT
số thuyết thảo luận, tra
bài tập
1 Bài 1: Visual Studio. Net và 24 8 16 1
các đối tượng
2 Bài 2: Các hộp thoại 4 1 3 0
3 Bài 3: Các hộp thoại tập tin 8 2 6 0
4 Bài 4: Thực đơn 4 2 2 0
5 Bài 5: Thanh trạng thái 4 1 3 0
6 Bài 6: Một số tính năng khác 4 2 2 0
7 Bài 7: Truy cập và xử lý cơ sở 28 10 18 1
dữ liệu
8 Bài 8: Lập báo cáo với 12 4 7 1
CrystalReport
9 Ôn tập 2 2
Cộng 90 30 57 3
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
Button 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
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 Danh sách control chứa trong GroupBox.
Text 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
Activate() 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
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
nguon tai.lieu . vn