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

Đề cương bài giảng Lập trình Winform và Ado.NET - ĐH Sư Phạm Kỹ Thuật Hưng Yên

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 (2.6 MB, 113 trang )

TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT HƢNG YÊN
KHOA CÔNG NGHỆ THƠNG TIN

ĐỀ CƢƠNG
HỌC PHẦN: LẬP TRÌNH WINFORM VÀ ADO.NET

Hƣng Yên
(Tài liệu lƣu hành nội bộ)

1


MỤC LỤC

BÀI 1: TỔNG QUAN .......................................................................................................................... 4
1.1.
Giới thiệu về Net Framework ............................................................. 4
1.2.
Giới thiệu về Windows Form.............................................................. 5
BÀI 2: MỘT SỐ ĐIỀU KHIỂN WINFORM (1) ................................................................... 15
2.1.

Label (

)................................................................................ 15

2.2.
TextBox(
) ........................................................................16
2.3.
Button (


) ..................................................................17
2.4.
CheckBox (
) ........................................................ 18
2.7.
RadioButton (
) ......................................................... 26
BÀI 3. THỰC HÀNH 1 – CÁC ĐIỀU KHIỂN WINFORM (1) .................. 28
BÀI 4. MỘT SỐ ĐIỀU KHIỂN WINFORM (2) ................................................................... 28
4.1.

Timer (

).............................................................................. 28

4.2.

RichTextBox (

4.3.
4.4.

PictureBox (
ImageList (

4.5.

Image (

4.6.


Điều khiển ListView (

) ........................................................... 29
) ............................................................. 30
) ............................................................... 30
) .....................................................................30
) ................................................ 31

4.7.
Treeview (
) ....................................................................45
4.8.
DataGridView ................................................................................... 47
BÀI 5: THỰC HÀNH 2 – CÁC ĐIỀU KHIỂN WINFORM (2) .................................... 52
BÀI 6: MỘT SỐ ĐIỀU KHIỂN WINFORM (3) ................................................................... 52
6.1. MenuStrip ............................................................................................... 52
6.2. Các điều khiển hộp thoại .......................................................................55
BÀI 7. THỰC HÀNH 3 – CÁC ĐIỀU KHIỂN WINFORM (3) .................................... 60
BÀI 8. GIỚI THIỆU VỀ ADO.NET ........................................................................................... 60
8.1.
Giới thiệu về ADO.NET ...................................................................60
8.2.
Các mơ hình thao tác với CSDL ....................................................... 61
8.3.
Đối tƣợng Connection .......................................................................62
BÀI 9. THỰC HÀNH 4- KẾT NỐI CSDL VỚI ĐỐI TƢỢNG CONNECTION ... 64
BÀI 10: ĐỐI TƢỢNG COMMAND, DATAREADER, PARAMETER ................... 64
10.1.
10.2.

10.3.
10.4.

Đối tƣợng Command.........................................................................64
Đối tƣợng DataReader ......................................................................65
Đối tƣợng Parameter .........................................................................66
Các thao tác thêm, sửa, xóa dữ liệu theo mơ hình hƣớng kết nối. ....68

BÀI 11. THỰC HÀNH 5 – THAO TÁC CSDL THEO MƠ HÌNH HƢỚNG KẾT NỐI . 75
2


BÀI 12. ĐỐI TƢỢNG DATA ADAPER VÀ DATASET ................................................ 75
12.1. Đối tƣợng DataAdaper ......................................................................75
12.2. Đối tƣợng DataSet............................................................................. 75
12.3. Nạp dữ liệu vào DataSet ...................................................................79
12.4. Cập nhật CSDL bằng DataAdapter ................................................... 81
12.5. Các thao tác với CSDL theo mơ hình phi kết ...................................82
BÀI 13: THỰC HÀNH 6 – THAO TÁC CSDL THEO MƠ HÌNH PHI KẾT NỐI88
BÀI 14. SẮP XẾP VÀ TÌM KIẾM DỮ LIỆU VỚI DATAVIEW ................................ 88
14.1.
14.2.

Đối tƣợng DataView .........................................................................88
Tìm kiếm, sắp xếp, trích lọc thơng tin với DataView ....................... 89

BÀI 15. THỰC HÀNH 7 – THỰC HIỆN THAO TÁC VỚI CƠ SỞ DỮ LIỆU SỬ DỤNG DATAVIEW ..92

BÀI 16. LẬP BÁO CÁO VỚI CYSTALREPORT .............................................................. 92
16.1. Giới thiệu .............................................................................................. 92

16.2. Thiết kế một báo cáo sử dụng Report Design Environment ............. 92
16.3. Preview báo cáo .............................................................................. 108
16.4. Nạp và hiển thị Report trong chƣơng trình .....................................109

3


BÀI 1: TỔNG QUAN
Giới thiệu về Net Framework

1.1.

Microsoft .NET gồm 2 phần chính : Framework và Integrated Development Environment (IDE).
Framework cung cấp những gì cần thiết và căn bản, chữ Framework có nghĩa là khung hay khung cảnh
trong đó ta dùng những hạ tầng cơ sở theo một qui ƣớc nhất định để cơng việc đƣợc trơi chảy. IDE
thì cung cấp một môi trƣờng giúp chúng ta triển khai dễ dàng, và nhanh chóng các ứng dụng dựa trên
nền tảng .NET. Nếu khơng có IDE chúng ta cũng có thể dùng một trình soạn thảo ví nhƣ Notepad hay
bất cứ trình soạn thảo văn bản nào và sử dụng command line để biên dịch và thực thi, tuy nhiên việc
này mất nhiều thời gian. Tốt nhất là chúng ta dùng IDE phát triển các ứng dụng, và cũng là cách dễ sử
dụng nhất.
Thành phần Framework là quan trọng nhất .NET là cốt lõi và tinh hoa của mơi trƣờng, cịn
IDE chỉ là công cụ để phát triển dựa trên nền tảng đó thơi. Trong .NET tồn bộ các ngơn ngữ C#, Visual
C++ hay Visual Basic.NET đều dùng cùng một IDE.
Tóm lại Microsoft .NET là nền tảng cho việc xây dựng và thực thi các ứng dụng phân tán thế hệ
kế tiếp. Bao gồm các ứng dụng từ client đến server và các dịch vụ khác. Một số tính năng của
Microsoft .NET cho phép những nhà phát triển sử dụng nhƣ sau:
-

Một mơ hình lập trình cho phép nhà phát triển xây dựng các ứng dụng dịch vụ web và ứng
dụng client với Extensible Markup Language (XML).


-

Tập hợp dịch vụ XML Web, nhƣ Microsoft .NET My Services cho phép nhà phát triển đơn
giản và tích hợp ngƣời dùng kinh nghiệm.

-

Cung cấp các server phục vụ bao gồm: Windows 2000, SQL Server, và BizTalk Server,
tất cả điều tích hợp, hoạt động, và quản lý các dịch vụ XML Web và các ứng dụng.

-

Các phần mềm client nhƣ Windows XP và Windows CE giúp ngƣời phát triển phân phối sâu
và thuyết phục ngƣời dùng kinh nghiệm thơng qua các dịng thiết bị.

-

Nhiều cơng cụ hỗ trợ nhƣ Visual Studio .NET, để phát triển các dịch vụ Web XML, ứng
dụng trên nền Windows hay nền web một cách dể dàng và hiệu quả.

Kiến trúc .NET Framework
.NET Framework là một platform mới làm đơn giản việc phát triển ứng dụng trong môi trƣờng
phân tán của Internet. .NET Framework đƣợc thiết kế đầy đủ để đáp ứng theo quan điểm sau:
-

Để cung cấp một môi trƣờng lập trình hƣớng đối tƣợng vững chắc, trong đó mã nguồn
đối tƣợng đƣợc lƣu trữ và thực thi một cách cục bộ. Thực thi cục bộ nhƣng đƣợc phân tán
trên Internet, hoặc thực thi từ xa.


-

Để cung cấp một môi trƣờng thực thi mã nguồn mà tối thiểu đƣợc việc đóng gói phần mềm và
sự tranh chấp về phiên bản.
4


-

Để cung cấp một môi trƣờng thực thi mã nguồn mà đảm bảo việc thực thi an toàn mã nguồn,
bao gồm cả việc mã nguồn đƣợc tạo bởi hãng thứ ba hay bất cứ hãng nào mà tuân thủ theo
kiến trúc .NET.

-

Để cung cấp một môi trƣờng thực thi mã nguồn mà loại bỏ đƣợc những lỗi thực hiện các
script hay môi trƣờng thông dịch.

-

Để làm cho những ngƣời phát triển có kinh nghiệm vững chắc có thể nắm vững nhiều kiểu ứng
dụng khác nhau. Nhƣ là từ những ứng dụng trên nền Windows đến những ứng dụng dựa trên
web.

-

Để xây dựng tất cả các thông tin dựa triên tiêu chuẩn công nghiệp để đảm bảo rằng mã
nguồn trên .NET có thể tích hợp với bất cứ mã nguồn khác.

Các thành phần của .NET FrameWork

.NET Framework có hai thành phần chính: Common Language Runtime (CLR) và thƣ viện
lớp .NET Framework. CLR là nền tảng của .NET Framework. Chúng ta có thể hiểu runtime nhƣ là
một agent quản lý mã nguồn khi nó đƣợc thực thi, cung cấp các dịch vụ cốt lõi nhƣ: quản lý bộ nhớ,
quản lý tiểu trình, và quản lý từ xa. Ngồi ra nó cịn thúc đẩy việc sử dụng kiểu an tồn và các hình
thức khác của việc chính xác mã nguồn, đảm bảo cho việc thực hiện đƣợc bảo mật và mạnh mẽ.
Thƣ viện lớp, một thành phần chính khác của .NET Framework là một tập hợp hƣớng đối tƣợng
của các kiểu dữ liệu đƣợc dùng lại, nó cho phép chúng ta có thể phát triển những ứng dụng từ những
ứng dụng truyền thống command-line hay những ứng dụng có giao diện đồ họa (GUI) đến những ứng
dụng mới nhất đƣợc cung cấp bởi ASP.NET, nhƣ là Web Form và dịch vụ XML Web.
1.2.

Giới thiệu về Windows Form
Windows Form là ứng dụng có giao diện đồ họa chạy trên hệ điều hành Window (GUI -

Graphical User Interface), Windows Forms là ứng dụng chạy trên máy tính của ngƣời dùng (DeskTop).
5


Khác với Web Forms là ứng dụng chạy trên Web Forms. Khi ứng dụng chạy thì hiển thị kết quả lên trình
duyệt. Windows Forms là một phần của kiến trúc .NET
Ví dụ nhƣ:

GUI đƣợc thiết kế bằng việc thêm vào Form những điều khiển phù hợp cho yêu cầu của mỗi bài
toán đặt ra.
1.2.1. Các thao tác với Project / Solution
a. Tạo Project
C1. Vào menu File | New | Project
C2. Ctrl + Shift + N
C3. Chọn công cụ New Project trên thanh Standart
Bƣớc 1: Khởi động VS2008 và chọn Fille  New Project …


Bƣớc 2: Chọn Ứng dụng dạng Windows Forms Application, chọn nơi lữu trữ Project (xem hình) 
nhấn OK.

6


1.2.2. Thêm và điều chỉnh các điều khiển
Sau khi tạo dự án, một Form đƣợc tạo ra nhƣ hình bên dƣới:

Để thêm các điều khiển vào Form, chúng ta có thể kéo các điều khiển bên công cụ
Toolbox vào Form đó.

7


Để chỉnh sửa các điều khiển (thêm, thay đổi kích thƣớc, xóa…) chúng ta có thể chọn các điều
khiển nhấn nút Delete nếu muốn xóa, nếu muốn thay đổi kích thƣớc thì chúng ta chỉ việc chọn vào
điều khiển và kéo điều khiển có kích thƣớc nhƣ mong muốn:

1.2.3. Tải các tập tin
Visual Studio hỗ trợ làm việc với nhiều tập tin (xml, Excel, Word…) với những tập tin đơn giản
chúng ta có thể chỉnh sửa trực tiếp trên bộ công cụ này. Các file này hiển thị trên công vụ Solution
Explorer:

8


Để chỉnh sửa nội dung file chúng ta có thể click trực tiếp vào file và sửa trên hộp thoại hiện ra:


1.2.4. Thay đổi kích thước các Form
Form (hay cịn gọi điều khiển Form) dùng để chứa các điều khiển khác (Buttons, Label…)
Trong một dự án có thể có nhiều Form:

9


Tùy theo mỗi ứng dụng khác nhau mà chúng ta có các u cầu về kích thƣớc Form khác nhau cho
phù hợp với chƣơng trình. Để thay đổi kích thƣớc Form chúng ta chỉ cần chọn Form kéo một trong các ô
vuông hiện ra ở bên mép của Form:

Hoặc chúng ta có thể thay đổi trực tiếp kích thƣớc của Form thơng qua thuộc tính Size:

b. Mở Project / Solution:
C1. Vào menu File | Open | Project / Solution C2.
Ctrl + Shift + O
c. Lưu Project / Solution
C1. Vào menu File | Save All
C2. Chọn công cụ Save All trên thanh Standart
d. Đóng Solution: Vào menu File | Close Solution
1.2.5. Màn hình giao diện của Windows Forms
a. Cửa sổ thiết kế Form (Designer):

10


b. Cửa sổ thiết viết code:

1.2.6. Các thao tác với Form
a. Thêm một Form mới vào Project:

b1. C1. Vào menu Project | Add New Item …
C2. Chọn công cụ Add New Item trên thanh Standart b2.
Khai báo
+ Categories: chọn Windows Forms
+ Templates: chọn Windows Form
+ Name: đặt tên Form b3.
Nhắp Add
b. Thêm một Form có sẵn vào Project: b1.
Vào menu Project | Add Existing Item … b2.
Chọn Form
b3. Nhắp Add
c. Xóa bỏ một Form đang có trong Project:
b1. Chọn Form cần gỡ bỏ (ở cửa sổ Solution Explorer)
b2. Vào menu Edit | Delete
11


d. Lưu Form
Vào menu File | Save Form.cs
Ctrl + S
 Ghi chú
- Ta kéo vào form các đối tƣợng nhƣ: Label, TextBox, Button, …
+ Label, TextBox, Button, … đƣợc gọi là control hay còn gọi là component.
+ Form đƣợc gọi là control “chứa”.
- Khi thay đổi nội dung của Label, TextBox, Button, … ta thay đổi vào Text. Text đƣợc
gọi là Property của control.
1.2.7. Control là gì?
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.
a. 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.
Bảng trình bày các thuộc tính (Properties) giống nhau của các Control
Thuộc tính
Mơ tả
Anchor
Có 4 hƣớng đƣợc định nghĩa là: top, bottom, left, right để cố định
(neo). Khi control chứa nó thay đổi kích thƣớc thì nó sẽ bị thay đổi
kích thƣớc nếu nếu các hƣớng left / right / top / bottom bị cố định
(neo).nền của control.
BackColor
Màu
Bottom
Là khoảng cách theo chiều dọc từ cạnh đáy của control đến cạnh
trên của control chứa nó.
Dock
Giố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ả tƣơng
4 cạnh)tác
với(True)
controlhay
chứa
nó. đƣợc phép tƣơng
Enabled
Control
đƣợc
phép
khơng
tác
(False))
dùng.
ForeColor
Màu chữvới
củangƣời
control.
Height
Là chiều cao của control tính từ cạnh trên của control đến cạnh dƣới của
control.
Left
Là khoảng cách theo chiều ngang từ cạnh trái của control đến cạnh trái
của control chứa nó.
Name
Tên của control.
Parent
Chỉ đến control chứa control hiện hành.
Right
Là khoảng cách theo chiều ngang từ cạnh phải của control đến cạnh trái

của control chứa nó.
TabIndex
Thứ 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.
12


Là nhãn phân biệt giữa các control giống nhau trong cùng form.
Nội dung hiện trong control.
Là khoàng cách theo chiều dọc từ cạnh trên của control đến cạnh trên
của control chứa nó.
Visible
Cho phép control hiện (True) / khơng hiện (False) khi chạy ứng dụng.
Width
Là 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.
Xác định giá trị thuộc tính cho điều khiển, chọn điều khiển cần thiết lập thuộc tính, hiển thị cửa sổ
Tag
Text
Top

Property (Nhấn phím F4, hoặc nhấn chuột phải, chọn Show property) , chọn biểu tƣợng thuộc tính của
Control và thay đổi giá trị các thuộc tính theo nhu cầu.

b.


Methods (Phương thức) của control
Mỗi một control có một tập các phƣơng thức, mà control có thể thực hiện đƣợc và có

c. Events (Sự kiện) của control
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.
Bảng sau trình bày một số sự kiện thƣờng dùng
Sự kiện
Click
DoubleClick
DragDrop
DragEnter
DragLeave
DragOver
KeyDown

Mô tả
Gọ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.
Gọi đến khi control bị Double-Click. Trong một vài control, event này
khơng báo giờ đƣợc gọi. Ví dụ: control Button.
Gọi đến khi việc “Drag and Drop” đƣợc hoàn tất.
Gọi đến khi đối tƣợng vừa đƣợc “Drag” đến biên của control.
Gọi đến khi đối tƣợng vừa đƣợc “Drag” ra ngoài biên của control.
Gọi đến khi đối tƣợng đƣợc “Drag” bên trong control.
Gọi đến khi vừa bấm một phím bất kỳ từ 1 control đang focus.
Sự kiện này luôn đƣợc gọi trƣớc sự kiện KeyUp.

13



Gọi đến khi vừa bấm một phím bất kỳ từ 1 control đƣợc focus.
Sự kiện này đƣợc gọi sau sự kiện KeyUp.
KeyUp
Gọi đến khi vừa bấm một phím bất kỳ rồi thả ra từ 1 control đang focus.
Sự kiện này luôn đƣợc gọi sau sự kiện KeyDown.
GotFocus
Gọi đến khi control đƣợc focus.
LostFocus
Gọi đến khi control bị mất focus.
MouseDown Gọi đến khi con trỏ chuột nằm trên 1 control và nút chuột đƣợc nhắp
nhƣng chƣa thả ra.
MouseMove Gọi đến khi con trỏ chuột đi qua 1 control.
MouseUp
Gọi đến khi con trỏ chuột nằm trên 1 control và nút chuột vừa đƣợc thả.
Paint
Gọi đến khi control đƣợc vẽ.
Validated
Gọi đến khi control focus, property CaucesValidation đƣợc đặt là true
và sau khi gọi việc kiểm tra bằng Validating.
Validating
Gọi đến khi control mất focus, property CaucesValidation đƣợc đặt là
true.
Chọn sự kiện để viết mã lệnh cho control, chọn điều khiển cần thiết lập thuộc tính, hiển thị cửa sổ
KeyPress

Property (Nhấn phím F4, hoặc nhấn chuột phải, chọn Show property), chọn biểu tƣợng sự kiện trên cửa
sổ Property, sau đó chọn sự kiện của điều khiển cần thực hiện.


 Chú ý: Để dừng chƣơng trình chúng ta sử dụng các câu lệnh sau
this.Close(); // Đóng form hiện hành
Application.Exit // Kết thúc ứng dụng

14


BÀI 2: MỘT SỐ ĐIỀU KHIỂN WINFORM (1)
2.1.

Label (

)

- Công dụng: Là điều khiển dùng để hiển thị tiêu đề hay văn bản mang tính mơ tả, mà ngƣời dùng
khơng thể thay đổi. Label dùng để định danh cho các điều khiển khác trên Form đƣợc gọi là
Label mô tả. Label dùng để hiển thị kết quả đầu ra

- Thêm label vào Form: Để thêm điều khiển Label vào Form ta chọn biểu tƣợng label trên thanh
Toolbox, sau đó kéo thả vào form. Với các điều khiển khác cũng thực hiện tƣơng tự.

- Thuộc tính hay dùng:
Ý nghĩa

Tên
Text

Giá trị hiển thị trên Label

AutoSize


Cho phép tự động thay đổi kích thƣớc của Label để
vừa với nội dung

BoderStyle

Xác định hình dáng đƣờng viền của Label

Font

Tên Font, kiểu và kích thƣớc văn bản đƣợc hiển thị
trên Label.

Location

Vị trí của Label trên form tƣơng ứng với góc bên
trái của form

Name

Tên sử dụng để xác định Label.
15


Size

Chỉ ra chiều rộng và chiều cao của Label

TextAlign


Chỉ ra cách căn văn bản trong Label

- Xác định giá trị thuộc tính cho điều khiển Label (tƣơng tự cho các điều khiển khác): Chọn điều
khiển, hiển thị cửa sổ Property (Nhấn phím F4, hoặc nhấn chuột phải, chọn Show property) và
thay đổi giá trị các thuộc tính theo nhu cầu.
2.2.

TextBox(

)

- Chức năng: Điều khiển Textbox cho phép bạn nhập và hiển thị dữ liệu.
- Một số thuộc tính thƣờng dùng:
Ý nghĩa

Tên
AcceptsTab

Nhận một trong hai giá trị True hay False
-

True: Khi nhấn phím Tab thì con trỏ (Focus) chỉ
di chuyển bên trong Textbox (Với điều kiện
thuộc tính Multiline=True).

-

False: Khi nhấn Tab thì Focus di chuyển qua lại
giữa các điều khiển trên Form
→ Thuộc tính này hay đặt bằng True trong


các ứng dụng soạn thảo văn bản
ContextMenuStrip

Chọn Menu ngữ cảnh khi nhấn chuột phải vào
Textbox

Font

Chọn kiểu Font chữ cho Textbox

HideSelection

Nhận một trong hai giá trị True hay False
-

True: Không cho phép các thuộc tính:
SelectionStart…có hiệu lực.

-

False: Ngƣợc lại

MaxLenght

Số lƣợng kí tự lớn nhất cho phép nhập vào Textbox

Multiline

Nhận một trong hai giá trị True hay False

-

True: Cho phép nhập và hiển thị giá trị của
Textbox trên nhiều dịng (ngƣời dùng có thể
nhìn thấy tồn bộ giá trị Text của nó)

-

False: Cho phép nhập/hiển thị giá trị của
Textbox trên một dòng

16


Hiển thị giá trị của Textbox dƣới dạng các kí tự mà

PasswordChar

bạn thay thế (kí tự do ngƣời dùng nhập vào: *, #...)
ReadOnly
Cho phép hiển thị thanh trƣợt hay không? (Với điều

ScrollBars

kiện thuộc tính Multiline=True mới nhìn thấy thanh
cuộn)
TabIndex

Đặt thứ tự cho phím tab


Visible

Cho phép Textbox hiển thị hay khơng?

CanUndo

Trả lại hai giá trị True/False.
- True: có thể Undo lại đƣợc (nhƣ Word)
- False: Ngƣợc lại

Các thuộc tính SelectionText

o SelectedText
o SelectionStart
o SelectionLength

-

Một số phương thức thường dùng:
Ý nghĩa

Tên
AppendText

Nối một chuỗi (string) vào giá trị Text hiện có của Textbox

Copy
Xử lý phần nội dung bôi đen (nhƣ Word)

Cut

Paste

2.3.

Focus

Chuyển Focus (con trỏ) vào TextBox

Clear

Xóa tồn bộ Textbox

Select

Lấy ra một chuỗi trong Textbox (xem Code)

SelectAll

Lấy tất cả giá trị của Textbox

Undo

Xử lý Undo nhƣ Word

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.

- Thuộc tính:
17


Thuộc tính
Text
2.4.

Mơ tả
Nhập nội dung vào Button

CheckBox (

)

- Cơng dụng: Cho phép ngƣời dùng chọn hoặc khơng chọn.
- Thuộc tính:
Thuộc tính
Checked
-

Mơ tả
Khơng có dấu check (False) / Có dấu check (True)

Minh họa:

Minh họa thuộc tính Text của Textbox:
private void btTextbox_Click(object sender, EventArgs e)
{


//Trƣớc khi gán thuộc tính text
MessageBox.Show("Giá trị textbox trƣớc khi gán: "+ textBox1.Text);
//Gán giá trị Text
textBox1.Text = "Chào các bạn";
//Sau khi gán
MessageBox.Show("Giá trị textbox sau khi gán: " + textBox1.Tex

}
Minh họa thuộc tính SelectedText
private void btTextbox_Click(object sender, EventArgs e)
{
//Thuộc tính SelectedText lấy ra một chuỗi mà bạn bơi đen (Chọn)
//Bạn hãy bôi đen một vài từ trong Textbox sau đó Click vào Button này sẽ
hiển thị
//Message thơng báo từ bạn chọn
string str = textBox1.SelectedText;
MessageBox.Show("Từ bạn vừa chọn (bôi đen) là: "+str);
}
Minh họa thuộc tính SelectionStart và SelectionLength
private void btTextbox_Click(object sender, EventArgs e)
{
//Thuộc tính này dùng trong tìm kiếm rất nhiều
//Thuộc tính SelectionStart: Ví trí bắt đầu Select
//Thuộc tính SelectionLength: Chiều dài của vùng lựa chọn

18


//Chú ý: Đặt thuộc tính HideSelection=False
//Ví dụ: Tìm kiếm xem giá trị của Textbox có từ nào là chào hay khơng. Nếu có thì nó

tự Bơi đen từ đó
string str = "chào";
int i;
i = textBox1.Text.LastIndexOf(str);
if (i >= 0)
{
textBox1.SelectionStart = i;
textBox1.SelectionLength = str.Length;
}
}
Minh họa thuộc tính CanUndo và phƣơng thức Undo

private void btTextbox_Click(object sender, EventArgs e)
{
//Nếu có thể Undo (có nghĩa: Bạn phải gõ văn bản vào Textbox rồi sửa, xóa...)
//Mới có thể Undo lại đƣợc
if (textBox1.CanUndo)
textBox1.Undo();
}
Minh họa phƣơng thức Select
private void btTextbox_Click(object sender, EventArgs e)
{
//Cú pháp chung: txtNoiDung.Select(Start, Length);
//Mục đích để lấy về một chuỗi từ từ vị trí nào và chiều dài của chuỗi dƣợc chọn (tất
nhiên: bôi đen vùng này).
//-> Phƣơng thức này tƣơng đƣơng với sử dụng 2 thuộc tính SelectionStart và
SelectionLength
//Ví dụ:
txtNoiDung.Select(10, 5);
//<-> 2 câu lệnh này

//textBox1.SelectionStart = 10;
19


//textBox1.SelectionStart = 5;
}

Minh họa phƣơng thức AppendText
private void btTextbox_Click(object sender, EventArgs e)
{
//Giá trị Textbox trƣớc khi gọi phƣơng thức
MessageBox.Show("Trƣớc: "+textBox1.Text);
//Gọi phƣơng thức
textBox1.AppendText("Khoa CNTT - UTEHY");
//Giá trị Textbox trƣớc khi gọi phƣơng thức
MessageBox.Show("Sau: " + textBox1.Text);
}

Xử lý chỉ cho phép Textbox nhập số (sự kiện KeyPress của Textbox) – Cách 1
private void txtNoiDung_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar >= '0' && e.KeyChar <= '9')
e.Handled = false;//Handled: Đƣợc xử lý
else
e.Handled = true;
}
Xử lý chỉ cho phép Textbox nhập số (sự kiện KeyPress của Textbox) – Cách 2
private void txtNoiDung_KeyPress(object sender, KeyPressEventArgs e)
{
if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))

e.Handled = true;
//Char.IsDigit(e.KeyChar) -->
//kiểm tra xem phím vừa nhập vào textbox có phải là ký tự số hay
khơng, hàm này trả về kiểu bool
//Char.IsContro(e.KeyChar) -->
//kiểm tra xem phím vừa nhập vào textbox có phải là các ký tự điều
khiển
20


//(các phím mũi tên,Delete,Insert,backspace,space bar…) hay khơng,
mục đích dùng hàm này là để cho phép ngƣời dùng xóa số trong trƣờng hợp nhập sai.
}
 Ví dụ :
Khởi tạo một ứng dụng Windows Forms Application, lƣu với tên là Ví dụ 1 nhƣ sau:

* Yêu cầu:
- Nhập:
+ Username vào TextBox Tên đăng nhập (Name: txtUser)
+ Password vào TextBox Mật khẩu (Name: txtPass)
- Chọn hoặc không chọn ô CheckBox Ghi nhớ (Name: chkNho)
- Nhắp button Đăng nhập thì hiện ra hộp thơng báo chứa Tên đăng nhập, Mật khẩu; Và
“Bạn có ghi nhớ” (nếu chkNho có đánh dấu chọn).
- Nhắp button Xóa thì xóa trống TextBox Tên đăng nhập và TextBox Mật khẩu, đồng
thời di chuyển con trỏ vào txtUser.
- Nhắp button Dừng thì dừng chƣơng trình.
* Hƣớng dẫn:
- Thiết kế Form nhƣ u cầu, trong đó form có các thuộc tính sau:
+ AutoSize: True
+ Font: Times New Roman

+ Size: 12
+ Text: Form Đăng Nhập
+ Icon: logo.ico
- Nhắp đúp vào button Đăng nhập, thêm đoạn code sau:
string thongbao;
thongbao = "Tên đăng nhập là: " ;
thongbao += this.txtUser.Text ;
thongbao += "\n\rMật khẩu là: " ;
thongbao += this.txtPass.Text;
if (this.chkNho.Checked==true)
{ thongbao += "\n\rBạn có ghi nhớ.";}
- Nhắp đúp vào button Xóa, thêm đoạn code sau:
this.txtUser.Clear();
21


this.txtPass.Clear();
this.txtUser.Focus();
- Nhắp đúp vào button Dừng, thêm đoạn code sau:
Application.Exit();
+ Có thể thay button Xóa bằng button Reset với đoạn code nhƣ sau:
this.txtUser.ResetText();
this.txtPass.ResetText();
this.txtUser.Focus();
 Bài tập:
1. - Thiết kế form nhƣ mẫu.

(txtsSo1, txtSo2, txtKQ, btnCong, btnTru, btnNhan, btnChia, btnXoa)
- Viết chƣơng trình làm các phép tốn: cộng, trừ, nhân, chia cho các button btnCong,
btnTru, btnNhan, btnChia.

- Xóa: Xóa trắng các TextBox.
- Thêm vào button Dừng (btnDung), khi nhắp vào btnDung thì dừng chƣơng trình.
- Cải tiến:
Khi nhắp button btnChia, nếu txtSo2 là 0 thì xuất hiện hộp thơng báo lỗi rồi xóa trống
txtSo2 và di chuyển con trỏ đến TextBox này.
2. Viết chƣơng trình giải phƣơng trình bậc nhất: bx + c = 0

(txtB, txtC, btnGiai, txtKQ)
- Thêm vào button Dừng, khi nhắp vào button này thì dừng chƣơng trình.
22


3. Viết chƣơng trình giải phƣơng trình bậc hai: ax2 + bx + c = 0
4. Viết chƣơng trình nhập vào: họ tên (txtHoTen), nữ (chkNu), điểm văn (txtVan), điểm
toán (txtToan), điểm ngoại ngữ (txtNN).
- Nhắp vào nút Tính (btnTinh) thì in ra điểm thấp nhất (txtDTN), điểm kết quả (txtDKQ),
xếp loại (txtXL). Biết rằng:
+ Điểm thấp nhất: txtDTN là điểm thấp nhất trong 3 điểm: văn, toán, ngoại ngữ.
+ Điểm thêm: DThem = 0.5 nếu là nữ; DThem = 0 nếu là nam.
+ Điểm kết quả: txtKQ = txtVan * 2 + txtToan * 2 + txtNN + DThem
+ Xếp loại theo tiêu chuẩn:
. Giỏi: nếu txtKQ >= 40 và txtDTN >= 7
. Khá: nếu txtKQ >=35 và txtDTN >= 6
. Trung bình: nếu txtKQ >= 25 và txtDTN >= 5
. Yếu: các trƣờng hợp còn lại
- Nhắp vào nút Xóa (btnXoa) thì xóa hết các nội dung trong các TextBox.
- Thêm vào button Dừng, khi nhắp vào button này thì dừng chƣơng trình.
5. Viết chƣơng trình tạo một ứng dụng gồm:
- Form1: Màn hình chính có 5 button: Bài tập 1 (btnBT1), Bài tập 2 (btnBT2), Bài tập 3
(btnBT3), Bài tập 4 (btnBT4), Thoát (btnThoat).

+ Khi nhắp vào Button Bài Tập 1: mở Form2
+ Khi nhắp vào Button Bài Tập 2: mở Form3
+ Khi nhắp vào Button Bài Tập 3: mở Form4
+ Khi nhắp vào Button Bài Tập 4: mở Form5
- Form2: thực hiện bài tập 1. Bổ sung Button Trở về để đóng Form2.
- Form3: thực hiện bài tập 2. Bổ sung Button Trở về để đóng Form3.
- Form4: thực hiện bài tập 3. Bổ sung Button Trở về để đóng Form4.
- Form5: thực hiện bài tập 4. Bổ sung Button Trở về để đóng Form5.
Điều khiển tập hợp:
Là một kiểu dữ liệu dùng lƣu trữ nhiều phần tử có cùng đặc tính. Ví dụ: Mảng, Tập các nút lệnh
chứa trên Form, tập các phần tử (Item) của Combobox, Listbox……….
Các thuộc tính, phƣơng thức lớp Collection


Count/Length: Lấy về số phần tử của tập hợp.



Add, AddRange: Thêm phần tử vào tập hợp.



Remove, RemoveAt: Xóa phần tử khỏi tập hợp.



Clear: Xóa tồn bộ các phần tử khỏi tập hợp.




Insert: Chèn một phần tử vào tập hợp (Khác với Add luôn thêm phần tử mới vào cuối tập
hợp, Insert thêm vào một vị trí xác định nào đó trong tập hợp).



Items[i]: Lấy một phần tử thứ i trong tập hợp.

23


Duyệt các phần tử trong tập hợp
Để duyệt các phần tử trong tập hợp ngƣời ta thƣờng sử dụng vòng lặp ForEarch
foreach (biến in biến_Tập_hợp)
{Xử lý giá trị lấy đƣợc}

2.5.

ListBox (

)

- Công dụng: Dùng để hiển thị một danh sách các lựa chọn.
- Thuộc tính:
Thuộc tính
Mơ tả
Items
Các mục giá trị trong ListBox
SelectedItem
Item đƣợc chọn
Phƣơng thức Mô tả

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() ;
 Ví dụ:
* Khởi tạo một ứng dụng Windows Forms Application, lƣu với tên là ViduListBox nhƣ sau:

* Yêu cầu:
- ListBox lstWeb (Liên kết website) chứa các giá trị:
+ Tuổi trẻ
+ Thanh niên
+ VNExpress
+ Dân trí
+ Cơng an
- TextBox txtKQ (chứa kết quả) để trống.
24


- Nhắp button btnOk (Ok) sẽ hiện trong txtKQ tên website đƣợc chọn ở lstWeb.
- Nhắp button btnReset (Reset) sẽ xóa trống txtKQ.
* Hƣớng dẫn:
- Thiết kế Form nhƣ yêu cầu, trong đó form có các thuộc tính sau:
+ AutoSize: True
+ Font: Times New Roman
+ Size: 12
+ Text: FormWebLinks
- Nhắp đúp vào button Ok rồi thêm đoạn code sau:
this.txtKQ.Text = "Bạn đã chọn website "+ this.lstWeb.SelectedItem.ToString();

* Cải tiến:
Chọn sự kiện FormLoad đƣa đoạn mã lệnh sau vào sự kiện.
this.lstWeb.Items.Add("Tuổi trẻ"); this.lstWeb.Items.Add("Thanh niên");
this.lstWeb.Items.Add("VNExpress"); this.lstWeb.Items.Add("Dân trí");
this.lstWeb.Items.Add("Cơng an"); this.lstWeb.SelectedItem = "Tuổi trẻ";

2.6.

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ị.
- Thuộc tính:
Thuộc tính
Mơ tả
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

 Ví dụ:
* Khởi tạo một ứng dụng Windows Forms Application, lƣu với tên là ViDuComboBox nhƣ sau:


* Yêu cầu:
Thực hiện giống nhƣ ViduListBox, nhƣng thay ListBox bằng ComboBox cbWeb.

25


×