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

Đề cương môn học: Công nghệ .NET ppsx

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.87 MB, 125 trang )

Đề cương môn học: Công nghệ .NET
- 1 -
MỤC LỤC
MỤC LỤC 1
CHƯƠNG 1: KIẾN TRÚC CỦA .NET 3
1.1. Môi trường thực thi ngôn ngữ chung – CLR 3
1.2. Ngôn ngữ trung gian - IL 4
1.3. Giới thiệu về .Net Framework 5
CHƯƠNG 2: LẬP TRÌNH WINDOWS FORMS 7
2.1. Tạo một ứng dụng Windows form 7
2.2. Lớp Control 8
2.3. Form 8
2.3.1. Chức năng 8
2.3.2. Một số thuộc tính thường dùng 8
2.3.3. Một số sự kiện thường dùng 10
2.4. Một số control 16
2.4.1. Textbox 16
2.4.2. RichTextBox 25
2.4.3. DataGridView 32
2.4.4. ListView 56
2.5. User Control 78
2.6. Thao tác với file XML 78
2.7. Thao tác với Registry 83
CHƯƠNG 3: LẬP TRÌNH CƠ SỞ DỮ LIỆU 86
3.1. Giới thiệu ADO.NET 86
3.2. Các mô hình thao tác với CSDL 87
Đề cương môn học: Công nghệ .NET
- 2 -
3.3. Kết nối đến nguồn dữ liệu bằng đối tượng Connection 88
3.4. Thực thi câu lệnh SQL bằng đối tượng Command 93
3.5. Truy vấn và nhận về dữ liệu với DataReader 101


3.6. Cập nhật và truy vấn dữ liệu với đối tượng DataAdapter 104
3.7. Mô hình DataSet 107
3.8. Đối tượng Parameter 109
3.9. Ràng buộc dữ liệu với các điều khiển 113
3.10. Sử dụng DataView trong sắp xếp và tìm kiếm dữ liệu 113
3.11. LINQ 113
CHƯƠNG 4: CRYSTAL REPORT 114
4.1. Thiết kế báo cáo với Crystal Report 114
4.2. Nạp và hiển thị Report trong chương trình 122
4.3. Thiết kế Report động 123












Đề cương môn học: Công nghệ .NET
- 3 -
CHƯƠNG 1: KIẾN TRÚC CỦA .NET
1.1. Môi trường thực thi ngôn ngữ chung – CLR
Như đã đề cập thì CLR thực hiện quản lý bộ nhớ, quản lý thực thi tiểu
trình, thực thi mã nguồn, xác nhận mã nguồn an toàn, biên bịch và các dịch vụ
hệ thống khác. Những đặc tính trên là nền tảng cơ bản cho những mã nguồn
được quản lý chạy trên CLR.

Do chú trọng đến bảo mật, những thành phần được quản lý được
cấp những mức độ quyền hạn khác nhau, phụ thuộc vào nhiều yếu tố nguyên
thủy của chúng như: liên quan đến Internet, hệ thống mạng trong nhà máy, hay
một máy tính cục bộ. Điều này có nghĩa rằng, một thành phần được quản lý có
thể có hay không có quyền thực hiện một thao tác truy cập tập tin, thao tác truy
cập registry, hay các chức năng nhạy cảm khác.
CLR thúc đẩy việc mã nguồn thực hiện việc truy cập được bảo mật. Ví
dụ, người sử dụng giới hạn rằng việc thực thi nhúng vào trong một trang web có
thể chạy được hoạt hình trên màn hình hay hát một bản nhạc, nhưng không thể
truy cập được dữ liệu riêng tư, tập tin hệ thống, hay truy cập mạng. Do đó, đặc
tính bảo mật của CLR cho phép những phần mềm đóng gói trên Inernet có nhiều
đặc tính mà không ảnh hưởng đến việc bảo mật hệ thống.
CLR còn thúc đẩy cho mã nguồn được thực thi mạnh mẽ hơn bằng việc
thực thi mã nguồn chính xác và sự xác nhận mã nguồn. Nền tảng của việc
thực hiện này là Common Type System (CTS). CTS đảm bảo rằng những
mã nguồn được quản lý thì được tự mô tả (self- describing). Sự khác nhau
giữa Microsoft và các trình biên dịch ngôn ngữ của hãng thứ ba là việc tạo ra
các mã nguồn được quản lý có thể thích hợp với CTS. Điều này thì mã nguồn
được quản lý có thể sử dụng những kiểu được quản lý khác và những thể hiện,
trong khi thúc đẩy nghiêm ngặt việc sử dụng kiểu dữ liệu chính xác và an toàn.
Thêm vào đó, môi trường được quản lý của runtime sẽ thực hiện việc tự
động xử lý layout của đối tượng và quản lý những tham chiếu đến đối tượng,
giải phóng chúng khi chúng không còn được sử dụng nữa. Việc quản lý bộ nhớ
Đề cương môn học: Công nghệ .NET
- 4 -
tự động này còn giải quyết hai lỗi chung của ứng dụng: thiếu bộ nhớ và tham
chiếu bộ nhớ không hợp lệ.
Trong khi runtime được thiết kế cho những phần mềm của tương lai, nó
cũng hỗ trợ cho phân mềm ngày nay và trước đây. Khả năng hoạt động qua lại
giữa mã nguồn được quản lý và mã nguồn không được quản lý cho phép người

phát triển tiếp tục sử dụng những thành phần cần thiết của COM và DLL.
Rutime được thiết kế để cải tiến hiệu suất thực hiện. Mặc dù CLR cung
cấp nhiều các tiêu chuẩn dịch vụ runtime, nhưng mã nguồn được quản lý không
bao giờ được dịch. Có một đặc tính gọi là Just-in-Time (JIT) biên dịch tất cả
những mã nguồn được quản lý vào trong ngôn ngữ máy của hệ thống vào lúc
mà nó được thực thi. Khi đó, trình quản lý bộ nhớ xóa bỏ những phân
mảnh bộ nhớ nếu có thể được và gia tăng tham chiếu bộ nhớ cục bộ, và kết quả
gia tăng hiệu quả thực thi.
1.2. Ngôn ngữ trung gian - IL
Như chúng ta đã biết, Intermediate Language hoạt động như là bản chất
của .NET Framework. Là lập trình viên C#, chúng ta nên biết rằng mã C# sẽ
luôn được dịch sang Intermediate Language trước khi nó được thực thi (thật vậy,
trình biên dịch C# chỉ dịch sang mã có quản). Chúng ta hãy cùng khám phá các
tính năng chính của IL, bất kì ngôn ngữ nào hướng .NET cũng sẽ hỗ trợ các đặc
tính chính của IL.
 Sau đây là những đặc tính chính của Intermediate Language:
 Hướng đối tượng và dùng interfaces
 Sự tách biệt giữa kiểu giá trị và kiểu tham chiếu
 Định kiểu mạnh
 Quản lỗi thông qua các ngoại lệ
 Sự dụng các thuộc tính
Đề cương môn học: Công nghệ .NET
- 5 -
1.3. Giới thiệu về .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.
 Để 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.
Đề cương môn học: Công nghệ .NET
- 6 -
Để 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ương môn học: Công nghệ .NET
- 7 -
CHƯƠNG 2: LẬP TRÌNH WINDOWS FORMS
2.1. Tạo một ứng dụng Windows form
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.
Đề cương môn học: Công nghệ .NET
- 8 -
2.2. Lớp Control
2.3. Form
2.3.1. Chức năng
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…)
2.3.2. Một số thuộc tính thường dùng

Tên
Ỹ nghĩa
Name
Tên của Form. Trong một Project tên của các Form
phải khác nhau.
AcceptButton
Giá trị mà thuộc tính này nhận là tên của một Button
trên Form (Nếu Form có chứa button). Khi đó nếu bạn
nhấn phím Enter thì sự kiện Click của Button mà bạn
chọn được thực thi mà không cần nhấn chuột vào
Button đó.
Autosize
Nhận một trong hai giá trị True hay False
- True: Không cho phép thay đổi kích thước Form mà
che đi các điều khiển khác chứa trên Form
- False: Ngược lại
AutoSizeMode
Cho phép thay đổi kích thước của Form hay không?
(Khi di chuyển chuột vào các mép của Form mà hiện
nên biểu tượng ↔ là cho phép). Và nhận một trong hai
giá trị
- GrowOnly: Cho phép
- và GrowAndShrink: Không cho phép
BackColor
Chọn màu nền cho Form
BackGroundImage
Chọn ảnh làm nền cho Form
Đề cương môn học: Công nghệ .NET
- 9 -
CancelButton

Giá trị mà thuộc tính này nhận là tên của một Button
trên Form (Nếu Form có chứa button). Khi đó nếu bạn
nhấn phím ESC thì sự kiện Click của Button mà bạn
chọn được thực thi mà không cần nhấn chuột vào
Button đó (tương tự như thuộc tính AcceptButton ).
ControlBox
Nhận một trong hai giá trị True hay False
- True: Cho phép các các nút: MaximizeBox,
MinimizeBox, Close trên Titlebar xuất hiện
- False: Không Cho phép các các nút: MaximizeBox,
MinimizeBox, Close trên Titlebar xuất hiện (Khi đó
các thuộc tính MaximizeBox, MinimizeBox của
Form cũng mất đi)
Font
Chọn kiểu Font chữ cho Form (Khi đó tất cả các điều
khiển được thêm vào Form sẽ có thuộc tính Font giống
như thuộc tính Font của Form)
ForeColor
Tương tự như thuộc tính Font nhưng áp dụng đối với
màu chữ
FormBorderStyle
Chọn Style cho Form (Có 7 lựa chọn khác nhau).
HelpButton
Nhận một trong hai giá trị True hay False.
- True: Cho phép xuất hiện Buton có dấu ? trên
Titlebar (Với điều kiện: hai thuộc tính
MaximizeBox, MaximizeBox phải đặt giá trị là
False)
- False: Ngược lại
→ Thuộc tính này sẽ hay đi kèm với điều khiển

HelpProvider về sau
Icon
Chọn một Icon (có đuôi mở rộng là .ico) trên máy tính
của bạn thay cho Icon mặc định của Form mà VS tạo ra
Đề cương môn học: Công nghệ .NET
- 10 -
KeyPreview
Nhận một trong hai giá trị True hay False
- True: Cho phép các sự kiện về bàn phím của Form
(KeyUp, KeyDown, KeyPress… của Form) có hiệu
lực.
- False: Ngược lại
MaximizeBox
Nhận một trong hai giá trị True hay False
- True: Cho phép nút MaximizeBox trên Titlebar có
hiệu lực
- False: Ngược lại
MaximizeBox
Tương tự như thuộc tính MaximizeBox
Opacity
Độ trong suốt của Form
ShowIcon
Nhận một trong hai giá trị True hay False
- True: Cho phép xuất hiện Icon của Form
- False: Không cho phép xuất hiện Icon của Form
ShowInTaskbar
Nhận một trong hai giá trị True hay False
- True: Cho phép hiện Form dưới khay Taskbar
- False: Ngược lại
StartPosition

Vị trí hiển thị của Form so với màn hình hệ thống hay
Form cha (5 lựa chọn khác nhau)
Text
Giá trị Text của Form
WindowState
Trạng thái hiển thị của Form khi chạy (Khi bạn nhấn
vào nút Run của VS) (Có 3 lựa chọn khác nhau: Ẩn
dưới khay Taskbar, mở rộng hết màn hình…).
2.3.3. Một số sự kiện thường dùng
Tên
Ỹ nghĩa
Đề cương môn học: Công nghệ .NET
- 11 -
AutoSizeChanged
Xảy ra khi thuộc tính Autosize của Form chuyển từ
True → False hay ng
ư
ợc lại là False → True.
BackColorChanged
Xảy ra khi thuộc tính BackColor của Form thay đổi
Click
Xảy ra khi người dùng Click chuột vào vùng làm việc
thuộc Form
ControlAdded
Xảy ra khi một điều khiển được Add vào Form
ControlRemoved
Xảy ra khi một điều khiển bị xóa khỏi Form
CursorChanged
Xảy ra khi thuộc tính Cursor của Form thay đổi
DoubleClick

Xảy ra khi người dùng DoubleClick vào vùng làm việc
của Form
FontChanged
Xảy ra khi thuộc tính Font của Form có sự thay đổi
ForeColorChanged
Xảy ra khi thuộc tính ForeColor của Form có sự thay
đổi
FormClosed
Xảy ra khi Form đã đóng (Nhấn vào nút X màu đỏ trên
Titlebar)
FormClosing
Xảy ra khi Form đang đóng (2 sự kiện FormClosed và
FormClosing thường dùng trong lập trình CSDL: khi
xảy ra sự kiện này thì đóng kết nối CSDL)
KeyDown
Xảy ra khi người dùng nhấn một phím hay một tố hợp
phím (tùy thuộc vào xử lý của chúng ta)
KeyPress
Xảy ra khi người dùng nhấn một phím
KeyUp
Xảy ra khi người dùng nhả một phím.
MouseClick
Xảy ra khi người dùng nhấn chuột (một trong 3 lựa
chọn: Trái, giữa, phải)
Đề cương môn học: Công nghệ .NET
- 12 -
MouseDoubleClick
Xảy ra khi người dùng DoubleClick chuột vào một
vùng làm việc của Form(một trong 3 lựa chọn: Trái,
giữa, phải)

MouseDown
Xảy ra khi người dùng nhấn chuột
MouseHover
Xảy ra khi người dùng di chuyển vào các vùng làm việc
Form
MouseLeave
Xảy ra khi di chuyển chuột ra khỏi vùng làm việc của
Form
MouseMove
Xảy ra khi di chuyển chuột trên một vùng làm việc
thuộc Form (nếu Form có chứa một điều khiển nào đó,
khi di chuyển chuột trên điều khiển này thì không xảy
ra sự kiện MouseMove của Form).
MouseUp
Xảy ra khi người dùng nhả nhấn chuột (có thể là chuột
trái, chuột phải, chuột giữa - chuột cuộn)
Move
Xảy ra khi di chuyển Form (có sự thay đổi vị trí của
Form)
StyleChanged
Xảy ra khi thuộc tính FormBorderStyle của Form thay
đổi
TextChanged
Xảy ra khi thuộc tính Text của Form thay đổi.
2.3.4. Minh họa
Đề cương môn học: Công nghệ .NET
- 13 -
2.3.4.1. Sự kiện FormClosed
//Sự kiện FormClosed - Sự kiện này được gọi khi Form đã đóng
private void frmForm_FormClosed(object sender, FormClosedEventArgs e)

{
MessageBox.Show("Sự kiện FormClosed được gọi", "FormClosed",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
2.3.4.2. Sự kiện FormClosing
//Sự kiện FormClosing xảy ra khi Form đang đóng
private void frmForm_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("Bạn có muốn đóng Form lại hay không?", "FormClosing",
MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
e.Cancel = false;// Đóng Form lại
else
e.Cancel = true;//Không đóng Form nữa
}
Đề cương môn học: Công nghệ .NET
- 14 -
2.3.4.3. Sự kiện KeyPress
//Sự kiện KeyPress
private void frmForm_KeyPress(object sender, KeyPressEventArgs e)
{
//Nếu không chỉ rõ phím nào được nhấn thì khi nhấn bất cứ phím nào sự kiện KeyPress của Form đều xảy ra
//Chỉ rõ phím nào được nhấn thì phát sinh sự kiện KeyPress làm như sau
if (e.KeyChar = 'a')
MessageBox.Show("Sự kiện KeyPress xảy ra khi bạn nhấn phím a");
}
//Sự kiện KeyUp tương tự như sự kiện KeyPress
//Sự kiện KeyDown xảy ra khi nhấn một phím hay tổ hợp phím
2.3.4.4. Sự kiện KeyDown
private void frmForm_KeyDown(object sender, KeyEventArgs e)
{
//khi nhấn một phím bất kì trên bàn phím thì sự kiện KeyPress được gọi

//Đồng thời sự kiện KeyDown cũng được gọi → KeyPress l
à trư
ờng hợp riêng của KeyDown
//Áp dụng: Nhấn một tổ hợp phím thì sự kiện KeyDown mới được gọi
//Như Windows Media: Nhấn Ctrl+F để di chuyển bài tiếp theo
Đề cương môn học: Công nghệ .NET
- 15 -
if (e.KeyCode == Keys.F && e.Modifiers == Keys.Control)
MessageBox.Show("Sự kiện KeyDown được gọi khi bạn nhấn Ctrl + F");
}
2.3.4.5. Sự kiện MouseClick
//Sự kiện MouseClick
private void frmForm_MouseClick(object sender, MouseEventArgs e)
{
//Nếu bạn không muốn biết người dùng nhấn chuột TRÁI hay PHẢI hay GIỮA thì khi nhấn bất kì
//Chuột nào cũng xảy ra sự kiện MouseClick của Form
//Còn nếu bạn muốn bắt được sự kiện người dùng nhấn chuột TRÁI, PHẢI, hay GIỮA làm thế này
if (e.Button == MouseButtons.Left)
MessageBox.Show("Sự kiện MouseClick xảy ra khi bạn Click chuột TRÁI");
else if (e.Button==MouseButtons.Middle)
MessageBox.Show("Sự kiện MouseClick xảy ra khi bạn Click chuột GIỮA");
else if (e.Button==MouseButtons.Right)
MessageBox.Show("Sự kiện MouseClick xảy ra khi bạn Click chuột PHẢI");
}
//Các sự kiện MouseDoubleClick, MouseDown, MouseUp Xử lý tương tự
Đề cương môn học: Công nghệ .NET
- 16 -
2.4. Một số control
2.4.1. Textbox
2.4.1.1. Chức năng

Điều khiển Textbox cho phép bạn nhập và hiển thị dữ liệu.
2.4.1.2. Một số thuộc tính thường dùng
Tên
Ý nghĩa
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
Anchor
Vị trí neo đậu của Textbox trên Form
AutoCompleteCustomSource
Ba thuộc tính này ý nghĩa tương tự như của
thuộc tính của điều khiển Combobox
AutoCompleteMode
AutoComplete Source
BackColor
Đặt mầu nền cho Textbox
BorderStyle
Chọn kiểu đường viền cho Textbox
ContextMenuStrip
Chọn Menu ngữ cảnh khi nhấn chuột phải vào
Textbox
Dock
Vị trí bám dính và điền đầy của Textbox với
Form

Font
Chọn kiểu Font chữ cho Textbox
Đề cương môn học: Công nghệ .NET
- 17 -
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 toà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
PasswordChar
Hiển thị giá trị của Textbox dưới dạng các kí tự
mà bạn thay thế (kí tự do người dùng nhập vào:
*, # )
ReadOnly
ScrollBars
Cho phép hiển thị thanh trượt hay không? (Với
điều kiện thuộc tính Multiline=True mới nhìn
thấy thanh cuộn)
TabIndex
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
Đề cương môn học: Công nghệ .NET
- 18 -
o ……………….
Chú ý: Các điều khiển có rất nhiều thuộc tính giống nhau: Anchor, Dock, Font,
ForeColor, Enabled, Visible, TabIndex……Về ý nghĩa các thuộc tính này là
giống nhau với tất cả các điều khiển
2.4.1.3. Một số phương thức thường dùng
Tên
Ý nghĩa
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
Focus
Chuyển Focus (con trỏ) vào TextBox
Clear
Xóa toà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
2.4.1.4. Một số sự kiện thường dùng
Tên
Ý nghĩa
KeyPress
Xảy ra khi người dùng nhấn phím trên bàn phím (tất
nhiên Textbox phải đang Focus – Áp dụng sự kiện này
để xử lý không cho phép nhập chữ vào Textbox…)
MouseClick
Xảy ra khi người dùng Click chuột trên điều khiển
Đề cương môn học: Công nghệ .NET
- 19 -
Textbox
TextChanged
Xảy ra khi giá trị Text của Texbox (hay gọi giá trị
Textbox) thay đổi
2.4.1.5. Minh họa
Đề cương môn học: Công nghệ .NET
- 20 -
2.4.1.5.1. 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.Text);
}
2.4.1.5.2. 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);
Đề cương môn học: Công nghệ .NET
- 21 -
}
2.4.1.5.3. 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
//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;
}

}
Đề cương môn học: Công nghệ .NET
- 22 -
2.4.1.5.4. 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();
}
2.4.1.5.5. 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;
Đề cương môn học: Công nghệ .NET
- 23 -
//textBox1.SelectionStart = 5;
}
2.4.1.5.6. 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);
}
2.4.1.5.7. 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ý
Đề cương môn học: Công nghệ .NET
- 24 -
else
e.Handled = true;
}
2.4.1.5.8. 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
//(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.
}
→ Sử dụng Textbox viết chương trình soạn thảo văn bản đơn giản (tham khảo Notepad)
Đề cương môn học: Công nghệ .NET
- 25 -

2.4.2. RichTextBox
2.4.2.1. Chức năng
Điều khiển RitchTextBox dùng để lưu trữ và hiển thị văn bản theo nhiều
định dạng khác nhau (định dạng chuẩn là rtf)
2.4.2.2. Một số thuộc tính thường dùng
Điều khiển RitchTextBox có rất nhiều các thuộc tính giống Textbox nói
riêng và các điều khiển khác nói chung. Ý nghĩa của các thuộc tính này là giống
nhau với các điều khiển. Ở đây chúng ta xét một số thuộc tính khác của
RitchTextBox
Tên
Ý nghĩa
SelectedText
Lấy về chuỗi được lựa chọn (chuỗi mà chúng ta bôi
đen)
SelectionStart, SelectionLength
Lấy về một chuỗi với vị trí bắt đầu và chiều dài, hai
thuộc tính này thường đi với nhau
SelectionFont
Lấy thông tin về Font của một chuỗi được lựa chọn
(bôi đen)
SelectionColor
Lấy thông tin về Color của chuỗi được bôi đen
được lựa chọn
CanUndo
Trả lại hai giá trị True/False.
- True: có thể Undo lại được (như Word)
- False: Ngược lại
CanRedo
Tương tự như thuộc tính CanUndo

×