Tải bản đầy đủ (.doc) (101 trang)

Tài liệu về công nghệ .NET

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 (1.32 MB, 101 trang )

Chuyên đề 02: Công nghệ .NET
GV: Hoàng Quốc Việt
I. FORM
***
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. Một số thuộc tính thường dùng
Điều khiển Form có một số thuộc tính như sau:
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
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.
- 1 -
Chuyên đề 02: Công nghệ .NET
GV: Hoàng Quốc Việt
- 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
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…).
3. Sự kiện
Một số sự kiện thường dùng
Tên Ỹ nghĩa
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
- 2 -
Chuyên đề 02: Công nghệ .NET
GV: Hoàng Quốc Việt
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)
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.
- 3 -
Chuyên đề 02: Công nghệ .NET
GV: Hoàng Quốc Việt
4. Minh họa một số sự kiện của Form (Code) (Với Form có tên là frmForm)
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);
}
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
}
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
- 4 -
Chuyên đề 02: Công nghệ .NET
GV: Hoàng Quốc Việt
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
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");
}
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ự
- 5 -
Chuyên đề 02: Công nghệ .NET
Giáo viên: Hoàng Quốc Việt
TẬP HỢP (COLLECTION)
***
1. Khái niệm Collection
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……….
2. Một biến thuộc tập hợp sẽ có các thuộc tính và các phương thức sau
- 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 toà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.
- ……………………………
3. 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}

4. Minh họa tập hợp
Giả sử có một Combobox có tên Combobox1. Chúng ta sẽ minh họa về
tập hợp thông qua các phần tử (Item) của Combobox này bằng sự kiện Click
của một Button có tên btCollection

- 6 -
Chuyên đề 02: Công nghệ .NET
Giáo viên: Hoàng Quốc Việt
4.1. Các phương thức/Thuộc tính
private void btCollection_Click(object sender, EventArgs e)
{
//Mới đầu xóa hết các phần tử sử dụng phương thức Clear()
comboBox1.Items.Clear();
//Add thêm một phần tử vào Combobox ->Sử dụng phương thức Add
//Phần tử này luôn luôn được đưa vào cuối cùng
comboBox1.Items.Add("Phần tử thứ 1");

//Add một mảng phần tử
string[] Mang = { "Phần tử thứ 2", "Phần tử thứ 3", "Phàn tử thứ 4" };
comboBox1.Items.AddRange(Mang);

//Insert một phần tử vào -> Phần tử chèn vào vị trí do ta chỉ định chứ không phải vào cuối cùng
//Trong ví dụ này: Phần tử được chèn vào vị trí thứ 2
comboBox1.Items.Insert(2, "Phần thứ được chèn");
//Lấy ra số phần tử của Combobox
int x = comboBox1.Items.Count;
MessageBox.Show("Số phần tử của Combobox là: "+x.ToString());
//Lấy giá trị là một phàn tử nào đó
string str = comboBox1.Items[2].ToString(); //Phần tử số 3???
MessageBox.Show("Giá trị của phần tử số 3: " + str.ToString());

}
4.2. Duyệt các phần tử trong tập hợp
//Giả sử chúng ta duyệt tất cả các nút Button trên một Form (Tất nhiên: trên Form phải có vài Button)
- 7 -
Chuyên đề 02: Công nghệ .NET
Giáo viên: Hoàng Quốc Việt
private void btForEach_Click(object sender, EventArgs e)
{
foreach (Control bt in this.Controls)
{
if (bt is Button)
MessageBox.Show(bt.Text);
}
}
- 8 -
Chuyên đề 02: Công nghệ .NET
Giáo viên: Hoàng Quốc Việt
II. COMBOBOX
***
1. Chức năng
Lưu trữ các mục dữ liệu (phần tử) dưới dạng danh sách
2. Một số thuộc tính thường dùng
Tên Ý nghĩa
Anchor Xác định vị trí “neo đậu” của điều khiển so với Form
AutoCompleteCustomSource Xác định các phần tử cho tính năng AutoComplete của
Combobox (Tức là tính năng AutoComplete chỉ áp dụng
trên các phần tử này - Nếu thuộc tính
AutoCompleteSource là CustomSource)
AutoCompleteMode Kiểu tự động tìm kiếm các phần tử trong Combobox. Có
một số lựa chọn sau

- Suggest: Hiển thị kết qủa ra bên dưới
- Append: Tự động điền vào Combobox và không hiển
thị ra bên dưới
- SuggestAppend=Suggest+Append
AutoCompleteSource Chọn nguồn các Item cho Combobox sử dụng tính năng
AutoComplete. Chú ý một số lựa chọn sau:
- HistoryList: Danh sách các Url lưu trong History của
IE
- ListItems: Các phần tử của Combobox được thêm
vào thông qua thuộc tính Items
- CustomSource: Giá trị các phần tử trong thuộc tính
AutoCompleteCustomSource
BackColor Chọn màu nền cho Combobox
Cursor Hình dáng của chuột khi di chuyển vào Combobox
DataSource Chọn nguồn dữ liệu (nguồn các phần tử) cho
Combobox (Có thể là một mảng dữ liệu kiểu string, một
trường trong CSDL…)
Dock Vị trí bám dính của Combobox
Enabled Cho phép Combobox có hiệu lực hay không?
Font Chọn Font cho Combobox
ForeColor Chọn màu chữ của các phần tử (Item) của Combobox
Items Quản lý các phần tử trong Combobox (thêm các phần
tử vào Combobox, xóa đi…)
Text Giá trị ứng với phần tử đang được chọn
Sorted Nếu chọn là True: Tự động sắp xếp các phần tử trong
Combobox theo giá trị tăng dần
SelectedIndex Get/Set chỉ số của phần tử đang chọn
- 9 -
Chuyên đề 02: Công nghệ .NET
Giáo viên: Hoàng Quốc Việt

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……Các thuộc tính này là giống
nhau với tất cả các điều khiển
3. Một số phương thức
Tên Ý nghĩa
Add Thêm một phần tử vào Combobox
AddRange Thêm một mảng các phần tử vào Combobox
……………. → Tập các Item có các phương thức và thuộc tính của Collection
4. Một số Sự kiện thường dùng
Tên Ý nghĩa
SelectedIndexChanged Xảy ra khi người dùng chọn phần tử khác khác
Chú ý: Các điều khiển (Form, Label ,Button…) có rất nhiều các sự kiện giống
nhau. Ý nghĩa của các sự kiện này là giống nhau với các điều khiển
5. Minh họa sử dụng Textbox bằng một số Code
- 10 -
Chuyên đề 02: Công nghệ .NET
Giáo viên: Hoàng Quốc Việt
5.1. Minh họa thuộc tinh Sorted
private void btCombobox_Click(object sender, EventArgs e)
{
//Mới đầu xóa hết các phần tử trong Combobox (nếu có)
comboBox1.Items.Clear();

//Add một số phần tử vào: Dùng phương thức Add hay AddRange
comboBox1.Items.Add("5");
string[] MangString = { "1","3","8","4","7" };
comboBox1.Items.AddRange(MangString); //Số thứ tự của các ptử là: 5,1,3,8,4,7
//Duyệt các phần tử của Combobox - Trước khi gọi thuộc tính Sorted
foreach (string str in comboBox1.Items)
MessageBox.Show(str);// Thứ tự in ra là : 5, 1,3,4,8,7

//Gọi thuộc tính Sorted.
comboBox1.Sorted=true;
//Duyệt các phần tử của Combobox - Saukhi gọi thuộc tính Sorted
foreach (string str in comboBox1.Items)
MessageBox.Show(str);// Thứ tự in ra là : 1,3,4,5,7,8
}
5.2. Lấy danh sách ổ đĩa vào Combobox - Minh họa thuộc tính DataSource
//Lấy danh sách các ổ đĩa vào Combobox: Minh họa cho phương thức AddRange hay thuộc tính DataSource của một Combobox
private void btGetDriver_Click(object sender, EventArgs e)
{
//Để thao tác vơi File, Folder. Trong C# hỗ trợ lớp Directory
//Lớp Directory là lớp tĩnh và nằm trong NameSpace: System.IO;
//Muốn dùng lớp này phải khai báo: using System.IO; ^.^
//Kết quả Directory.GetLogicalDrives() trả về một mảng kiểu string
- 11 -
Chuyên đề 02: Công nghệ .NET
Giáo viên: Hoàng Quốc Việt
string[] MangDriver = Directory.GetLogicalDrives();
//Đưa vào Combobox có thể dùng một trong hai câu lệnh sau
//Câu lệnh 1: comboBox1.DataSource = MangDriver;
comboBox1.DataSource = MangDriver;
comboBox1.SelectedIndex = 3;
//Câu lệnh hai: comboBox1.Items.AddRange(MangDriver);
//Chú ý: Muốn sử dụng câu lệnh 2 thì xóa câu lệnh 1 hay để ở dạng chú thích
}
→ CÁC ĐIỀU KHIỂN LISTBOX, CHECKLISTBOX HOÀN TOÀN TƯƠNG TỰ
- 12 -
Chuyên đề 02: Công nghệ .NET
Giáo viên: Hoàng Quốc Việt
III. WEB BROWSER

***
1. Chức năng
Duyệt các trang Web, hiển thị các File với các định dạng khác nhau.
2. Một số thuộc tính thường dùng
Tên Ý Nghĩa
ScrollBarsEnabled Nhận một trong hai giá trị True hay False
- True: Cho phép điều khiển hiển thị thanh cuộn.
- False: Ngược lại
Url Giá trị mà thuộc tính này nhận là một chuỗi String (Có
thể là tên một Website, đường dẫn tới một File…) mà
WebBrowser sẽ hiển thị
3. Một số phương thức thường dùng
Tên Chức năng
Navigate Hiển thị nội dung File với tham số truyền vào
VD:
webBrowser1.Navigate("C:\\WindowsForrmInC#.ppt");
4. Minh họa sử dụng WebBrowser bằng một số Code
Giả sử có một điều khiển có tên webBrowser1 chúng ta sẽ minh họa sử
dụng điều khiên này qua sự kiện Click của một Button có tên là: btWeb
- 13 -
Chuyên đề 02: Công nghệ .NET
Giáo viên: Hoàng Quốc Việt
4.1. Minh họa thuộc tính Url
//Đặt thuộc tính Url thông qua mã Code
//webBrowser1 là tên điều khiển WebBrowser
private void btWeb_Click(object sender, EventArgs e)
{
Uri u = new Uri(@" /> webBrowser1.Url = u;
//Viết gộp lại như thế này: webBrowser1.Url = new Uri(@" /> //-> khi Click vào btWeb thì WebBrowser hiển thị WebSite /> //Tất nhiên máy bạn phải kết nối với Internet
}

4.2. Minh họa phương thức Navigate
//Hiển thị một trang Web hay Một File nào đó -> Sử dụng phương thức Navigate
private void btWeb_Click(object sender, EventArgs e)
{
//Hiển thị Website
webBrowser1.Navigate(@"mail.google.com");//(1)
//<->webBrowser1.Url = new Uri(@" /> //Chú ý: Muốn sử dụng (1) phải cho (2) và (3)... vào dạng chú thích
//Vì một lúc webBrowser không thể hiển thị cả Website, cả ảnh, vả file PPT
//Hiển thị File PowerPoint
//webBrowser1.Navigate(@"C:\NET.ppt");//(2)
//Hiển thị Ảnh
//webBrowser1.Navigate(@"C:\viethqtk1.jpg");//(3)
//................................
}
- 14 -
Chuyên đề 02: Công nghệ .NET
Giáo viên: Hoàng Quốc Việt
4.3. Phương thức thường dùng
//Phương thức hay dùng xử lý với WebBrowser để tạo ra trình duyệt Web
private void Navigate(String address)
{
if (address.Equals("about:blank")) return;
if (!address.StartsWith("http://") &&
!address.StartsWith("https://"))
{
address = "http://" + address;
}
try
{
webBrowser1.Navigate(new Uri(address));

}
catch (System.UriFormatException)
{
return;
}
}
→ Bài Tập: Ứng dụng Combobox và WebBrowser viết một trình duyệt Web đơn giản
- 15 -
Chuyên đề 02: Công nghệ .NET
Giáo viên: Hoàng Quốc Việt
IV. TEXTBOX
***
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. 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
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
- 16 -
Chuyên đề 02: Công nghệ .NET
Giáo viên: Hoàng Quốc Việt
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
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
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
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
Textbox
TextChanged Xảy ra khi giá trị Text của Texbox (hay gọi giá trị
Textbox) thay đổi
5. Minh họa sử dụng Textbox bằng một số Code
Giả sử có một Textbox có tên là Textbox1. Chúng ta sẽ minh họa Textbox
qua sự kiện click của một Button có tên là btTextbox.
- 17 -
Chuyên đề 02: Công nghệ .NET
GV: Hoàng Quốc Việt
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);
}
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);
}
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;
- 18 -
Chuyên đề 02: Công nghệ .NET
GV: Hoàng Quốc Việt
i = textBox1.Text.LastIndexOf(str);
if (i >= 0)
{
textBox1.SelectionStart = i;
textBox1.SelectionLength = str.Length;
}
}
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();
}
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;
//textBox1.SelectionStart = 5;
}
- 19 -
Chuyên đề 02: Công nghệ .NET
GV: Hoàng Quốc Việt
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);
}
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ý
else
e.Handled = true;
}

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) -->
- 20 -
Chuyên đề 02: Công nghệ .NET
GV: Hoàng Quốc Việt
//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)
- 21 -
Chuyên đề 02: Công nghệ .NET
GV: Hoàng Quốc Việt
V. RITCHTEXTBOX
***
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. 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
3. Một số phương thức thường dùng
Tên Ý nghĩa
AppendText Nối một chuỗi vào RitchTextBox
Copy Xử lý phần nội dung bôi đen (như Word)
Cut
Paste
Find Tìm kiếm một xâu trong RitchTextBox
Focus Chuyển Focus vào RitchTextBox
LoadFile Đọc nội dung một file vào RitchTextBox
SaveFile Ghi nội dung của RitchTextBox ra file
Select Lấy ra một chuỗi trong RitchTextBox (tương tự TextBox)
SelectAll Lấy tất cả nội dung của RitchTextBox
Redo Xử lý Undo, Redo như Word
Undo
- 22 -
Chuyên đề 02: Công nghệ .NET
GV: Hoàng Quốc Việt

4. Minh họa sử dụng RitchTextBox bằng một số Code
Giả sử có một Textbox có tên là
richTextBox1
. Chúng ta sẽ minh họa RitchTextbox qua sự kiện click của một
Button có tên là bt
richTextBox
.
4.1. Việc sử dụng các thuộc tính SelectedText, SelectionStart, SelectionLength, CanUndo, CanRedo tương tự
như TextBox (Xem lại Code phần điều khiển TextBox)
4.2. Minh họa thuộc tính SelectionFont
private void btRichTextBox_Click(object sender, EventArgs e)
{
//Sử dụng thuộc tính Font có thể lấy thông tin về Font của vùng Bôi đen (không phải tất cả)
//Hoặc: Thay đổi Font của vùng bôi đen
//Trước hết lấy thông tin về Font
//InfoFont bao gồm tát cả các thông tin: Style, Tên Font...
string InfoFont = richTextBox1.SelectionFont.ToString();
MessageBox.Show(InfoFont);
//Chỉ lấy tên Font của vùng Bôi đen
string FontName = richTextBox1.SelectionFont.Name.ToString();
MessageBox.Show("Vùng bôi đen có Font là: " + FontName);
//Chỉ lấy Size của vùng Bôi đen
string FontSize = richTextBox1.SelectionFont.Size.ToString();
MessageBox.Show("Vùng bôi đen có Size là: " + FontSize);
//...................................................
}
4.3. Chọn Font cho vùng bôi đen thông qua thuộc tính SelectionFont (Chỉ vùng bôi đen)
private void btRichTextBox_Click(object sender, EventArgs e)
{
- 23 -

Chuyên đề 02: Công nghệ .NET
GV: Hoàng Quốc Việt
FontDialog fo = new FontDialog();
//Hiển thị hộp thoại
if (fo.ShowDialog() == DialogResult.OK)
{
//Nếu muốn đổi Font một đoạn lựa chọn thì dùng câu lệnh này
richTextBox1.SelectionFont = fo.Font;
//Còn nếu muốn đổi Font cho toàn bộ RichTextBox thì dùng câu lệnh này
//richTextBox1.Font = fo.Font;
}
}
4.4. Minh họa thuộc tính SelectionColor
private void btRichTextBox_Click(object sender, EventArgs e)
{
//Thuộc tính này lấy về màu của vùng được lựa chọn
//Tương tự như thuộc tính SelectionFont
string Color = richTextBox1.SelectionColor.Name.ToString();
MessageBox.Show(Color);
}
4.5. Đặt màu cho vùng bôi đen thông qua thuộc tính SelectionColor
private void btRichTextBox_Click(object sender, EventArgs e)
{
ColorDialog cl = new ColorDialog();
//Hiển thị hộp thoại
if (cl.ShowDialog() == DialogResult.OK)
{
//Nếu muốn đổi Font một đoạn lựa chọn thì dùng câu lệnh này
richTextBox1.SelectionColor = cl.Color;
}

- 24 -
Chuyên đề 02: Công nghệ .NET
GV: Hoàng Quốc Việt
}
4.6. Việc sử dụng các phương thức: AppendText, Select, SelectAll, Undo, Redo, Undo tương tự như Textbox
4.7. Minh họa sử dụng phương thưc LoadFile
private void btRichTextBox_Click(object sender, EventArgs e)
{
//Load nội dung File C:\NET.rtf vào RitchTextBox
//Tất nhiên ổ C của bạn phải tồn tại file C:\NET.rtf
richTextBox1.LoadFile(@"C:\NET.rtf");
//-> Thường sử dụng cùng với điều khiển OpenFileDialog để mở một file trên máy
}
4.8. Minh họa sử dụng phương thưc SavaFile
private void btRichTextBox_Click(object sender, EventArgs e)
{
//Lưu nội dung RitchTextBox ra file
richTextBox1.SaveFile(@"C:\File.rtf")
//-> Thường sử dụng cùng với điều khiển SaveFileDialog lưu file vào một nơi bất kì trên máy
}
4.9. Minh họa Phương thức Find
private void btRichTextBox_Click(object sender, EventArgs e)
{
//Tìm kiếm một chuỗi trong RichTextBox -> nếu có thì bôi đen kết quả tìm thấy
//Chú ý: Đặt thuộc tính HideSelection=False
//rtfNoiDung.Find("Chào", 0, 100, RichTextBoxFinds.Reverse);
//-> Ứng dụng trong tìm kiếm văn bản
- 25 -

×