Tải bản đầy đủ (.docx) (24 trang)

Tài liệu công nghệ Net Phần 3

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 (516.79 KB, 24 trang )

Chuyên đề 02: Công nghệ .NET
GV: Hoàng Quốc Việt
V. FilE SYSTEM WATCHER
***
1. Chức năng
Theo dõi sự thay đổi của File và Folder (thay đổi về tên, nội dung…) của
các ổ đĩa, các thư mục… do bạn chỉ định
2. Một số thuộc tính thường dùng
Tên Ý nghĩa
Path Đường dẫn cần theo dõi (có thể là ổ đĩa hay một thư mục) (kết hợp
sử dụng với điều khiển FolderBrowserDialog để theo dõi sự thay đổi
của một folder bất kì do bạn chọn)
Filter Bộ lọc loại tập tin (theo dõi sự thay đổi của các file Text, file doc hay
tất cả các file)
EnableRaisingEvents Nhận một trong hai giá trị True hay False
- True: Cho phép các sự kiện có hiệu lực khi có thay đổi không
(thường chọn là true)
- False: ngược lại
IncludeSubdirectories Nhận một trong hai giá trị True hay False
- True: Theo dõi sự thay đổi của cả các thư mục con của thư mục
bạn chọn
- False: Ngược lại (tất nhiên rồi ☻)
NotifyFilter Bộ lọc đối với sự kiện Changed (thay đổi về tên, thuộc tính file, thời
gian truy cập…)
3. Một số phương thức thường dùng
Tên Ý nghĩa
Created sự kiện này xảy ra khi có tạo mới file hay folder
Deleted
Tương tự như trên
Changed
Renamed


4. Minh họa sử dụng điều khiển FileSystemWatcher
Giả sử chúng ta có form có tên: frmFileSystemWatcher. Trên form đó có
chứa: điều khiển FolderBrowserDilog có tên folderBrowserDialog1 để chọn
thư mục bất kì cần theo dõi, điều khiển FileSystemWatcher có tên
fileSystemWatcher1, một listbox có tên lstFileSystemWatcher (mỗi khi có sự
thay đổi thì dòng thông báo được thêm vào Listbox này) và một Button có tên
btSelect để chọn thư mục cần theo dõi.
→ XEM CODE TRONG PROJECT KÈM THEO (frmFileSystemWatcher)
1
Chuyên đề 02: Công nghệ .NET
GV: Hoàng Quốc Việt
//Chọn thư mục cần theo dõi
private void btSelect_Click(object sender, EventArgs e)
{
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
string strFolderCanTheoDoi = folderBrowserDialog1.SelectedPath;
//Đường dẫn cần theo dõi
fileSystemWatcher1.Path = strFolderCanTheoDoi;
//Bộ lọc loại tập tin theo dõi <-> theo dõi tất cả các loại tập tin .txt, .doc.....
fileSystemWatcher1.Filter = "*.*";
// Cho phép sử dụng các sự kiện khi có thay đổi
fileSystemWatcher1.EnableRaisingEvents = true;
//Theo dỏi cả các thư mcụ con trong thư mục vừa chọn
fileSystemWatcher1.IncludeSubdirectories = true;
//Bộ lọc đối với sự kiện Changed
fileSystemWatcher1.NotifyFilter = NotifyFilters.Attributes | NotifyFilters.CreationTime | NotifyFilters.DirectoryName |
NotifyFilters.FileName | NotifyFilters.Size;
//Xử lý các sự kiện
//Nếu thuộc tính EnableRaisingEvents=False thì các câu lệnh này không có hiệu lực

fileSystemWatcher1.Created += new FileSystemEventHandler(CreatedFileAndFolder);
fileSystemWatcher1.Deleted += new FileSystemEventHandler(Delete);
fileSystemWatcher1.Changed += new FileSystemEventHandler(Changed);
fileSystemWatcher1.Renamed += new RenamedEventHandler(Renamed);
}
}
//Các sự kiện
//Phương thức thực thi khi có file hay folder được tạo ra
2
Chuyên đề 02: Công nghệ .NET
GV: Hoàng Quốc Việt
public void CreatedFileAndFolder(object sender, FileSystemEventArgs e)
{
lstFileSystemWatcher.Items.Add("Create: " + e.FullPath + "Vừa được tạo ra");
}
//Phương thức thực thi khi có file hay folder được Xóa đi
public void Delete(object sender, FileSystemEventArgs e)
{
lstFileSystemWatcher.Items.Add("Delete: " + e.FullPath + "Vừa được Xóa đi");
}
//Phương thức thực thi khi có file hay folder thay đổi nội dung
public void Changed(object sender, FileSystemEventArgs e)
{
lstFileSystemWatcher.Items.Add("Changed: " + e.FullPath + " Vừa mới thay đổi!");
}
//Phương thức thực thi khi có file hay folder thay đổi tên
public void Renamed(object sender, RenamedEventArgs e)
{
lstFileSystemWatcher.Items.Add("Renamed: " + e.OldName + " được đổi tên thành: " + e.Name + "(" + e.OldFullPath + " -> " +
e.FullPath + ")");

}
Chú ý: Nhóm các điều khiển hộp thoại (Dialog) còn có một số điều khiển: ColorDialog (Cho phép
chọn màu), FontDialog (cho phép chọn font chữ)
3
Chuyên đề 02: Công nghệ .NET
GV: Hoàng Quốc Việt
MỘT SỐ ĐIỀU KHIỂN KHÁC
***
I. TOOLTIP
1. Chức năng
Điều khiển Tooltip hỗ trợ cách sử dụng các điều khiển khác trên form bằng
cách trình bày cửa sổ nhỏ hình chữ nhật với các diễn giải ngắn gọn khi
người sử dụng di chuyển chuột vào điều khiển đó.
2. Một số thuộc tính thường dùng
Tên Ý nghĩa
Active Nhận một trong hai giá trị True hay False
- True: Cho phép cửa sổ Tooltip được xuất hiện
- False: Không cho phép
BackColor Chọn mầu nền cho cửa sổ Tooltip (chính là khung hình chữ nhật hiện
ra)
AutomaticDelay Thời gian tính bằng phần ngàn giây áp dụng cho 3 thuộc tính ở dưới
đây: AutoPopDelay, InitiaDelay, ReshowDelay
AutoPopDelay Khoảng thời gian mà cửa sổ điều khiển tooltip xuất hiện kể từ lúc
người dùng di chuyển chuột vào điều khiển cho đến khi kết
thúc (1000=1s). (Nói gắn gọn: Khoảng thời gian mà nó sẽ được xuất
hiện khi người dùng di chuyển chuột vào điều khiển)
InitialDelay Khoảng thời gian mà cửa sổ điều khiển tooltip sẽ chờ để được
xuất hiện kể từ khi người dùng di chuyển chuột vào điều khiển (Ví
dụ đặt thuộc tính là 1000 thì sau khi di chuyển chuyển vào điều khiển
1s thì cửa sổ tooltip sẽ xuất hiện)

ReshowDelay Khoảng hời gian mà cửa sổ sẽ tắt kể từ khi người dùng di chuyển
chuột ra ngoài điều khiển
IsBalloon Nhận một trong hai giá trị True hay False
- True: Cửa sổ hình chữ nhật bật nên với các góc bo tròn
- False: Cửa sổ hiện nên có hình chữ nhật
TooltipIcon Biểu tượng xuất hiện trên hộp Tooltip
TooltipTitle Chuỗi xuất hiện bên cạnh Icon ở trên(Không phải là Tooltip)
3. Sử dụng điều khiển Tooltip
Khi kéo một điều khiển Tooltip vào Form thì mặc định tên của nó là: toolTip1. Khi đó
các điều khiển trên Form (Textbox, Button hay Label…..) tự động có thêm một thuộc tính
nữa là: Tooltip on Tooltip1 (Với Tooltip1 là tên của điều khiển vừa đưa vào - Thuộc tính
mới này nằm trong hộp thoại Properties). Bạn chỉ cần đặt giá trị cho thuộc tính này (thuộc
tính Tooltip on Tooltip1 của các điều khiển như Textbox, Button…chứ không phải của
tooltip) là một chuỗi gợi nhắc nào đó. Lúc chạy chương trình khi trỏ chuột vào điều khiển
đó hiện nên thông báo (Chuỗi vừa nhập ở thuộc tính Tooltip on Tooltip1)
I. ERROR PROVIDER
***
1. Chức năng
Điều khiển này cung cấp giao tiếp giữa người sử dụng với các thông tin lỗi
của các điều khiển trên Form
4
Chuyên đề 02: Công nghệ .NET
GV: Hoàng Quốc Việt
2. Một số thuộc tính thường dùng
Tên Ý nghĩa
BlinkRate Khoảng thời gian giữa hai lần nhấp nháy (1000=1s)
BlinkStyle Chọn kiểu hiển thị cho điều khiển ErrorProvider. Nhận 1 trong 3 giá
trị:
- Khi có lỗi mới nhấp nháy (BlinkIfDifferentError - mặc định).
- Nhấp nháy liên tục (AlwaysBlink),

- Không bao giờ nhấp nháy (NeverBlink).
Icon Icon xuất hiện bên cạnh điều khiển, có thể chọn Icon bất kì trên máy
tính của bạn chứ không nhất thiết là Icon mặc định của VS (hình tròn
đỏ)
3. Một số phương thức thường sử dụng
Tên Ý nghĩa
SetError Khai báo chuỗi xuất hiện tương tự như thuộc tính Error on
errorProvider1.
GetError Nhận chuỗi từ thuộc tính Error on errorProvider1 của điều khiển.
Clear Loại bỏ tất cả các chuỗi diển giải cho các điều khiển
4. Sử dụng điều khiển ErrorProvider
Khi kéo một điều khiển ErrorProvider vào Form thì mặc định tên của nó là:
errorProvider1. Khi đó các điều khiển trên Form (Textbox, Button hay
Label…..) tự động có thêm một thuộc tính nữa là: Error on errorProvider1
(Với errorProvider1 là tên của điều khiển Error Provider vừa đưa vào - Thuộc
tính mới này nằm trong hộp thoại Properties). Bạn chỉ cần đặt giá trị cho
thuộc tính này là một chuỗi nào đó (thuộc tính Error on errorProvider1 của
các điều khiển như Textbox, Button…chứ không phải của điều khiển
ErrorProvider). Lúc chạy chương trình thì có một biểu tượng hình tròn đỏ bên
cạnh điều khiển mà bạn đặt thuộc tính Error on errorProvider1, khi trỏ vào đó
sẽ xuất hiện dòng thông báo trên).
Ví dụ: Chúng ta có một form: frmErrorProvider. Trên form có 2 điều khiển
Textbox có tên là: txtUser, txtPass và một button có tên btLogin. Khia nhấn
vào nút btLogin nếu giá trị của 2 ô txtUser và txtPass để trống (“”) thì xuất
hiện điều điều khiển ErrorProvider bên cạnh các điều khiển này
5
Chuyên đề 02: Công nghệ .NET
GV: Hoàng Quốc Việt
private void btLogin_Click(object sender, EventArgs e)
{

//Chúng ta có thể kéo một điều khiển ErrorProvider vào form và đặt các thuộc tính
//Cho các điều khiển txtUser, txtPass và điều khiển ErrorProvider bạn vừa tạo ra
//Ở đây khai báo đối tượng ErrorProvider bằng code
//Khai báo đối tượng thuộc kiểu ErrorProvider
ErrorProvider ep = new ErrorProvider();
//Đặt các thuộc tính
ep.Clear();
ep.BlinkRate = 300;
ep.BlinkStyle = ErrorBlinkStyle.BlinkIfDifferentError;
//Đặt cho một một điều khiển (Textbox) sử dụng phương thức SetError
if (txtUser.Text == "")
ep.SetError(txtUser, "User không được để trống");
if (txtPass.Text == "")
ep.SetError(txtPass, "Pass không được để trống");
}
6
Chuyên đề 02: Công nghệ .NET
GV: Hoàng Quốc Việt
II. PROGRESSBAR
***
1. Chức năng
Điều khiển ProgressBar dùng trình bày thời lượng thực hiện công việc (ví
dụ: thanh tiến trình trên trình duyệt IE…).
2. Một số thuộc tính thường dùng
Tên Ý nghĩa
Maximum Giới hạn trên (cực đại) của điều khiển ProgressBar
Minimum Giới hạn dưới (cực tiểu) của điều khiển ProgressBar
Value Giá trị hiện hành đang xử lý trên điều khiển ProgressBar
Style Kiểu trình bày của ProgressBar và nhận 1 trong 3 giá trị:
- Blocks: Tô từng khối (các khối có cách nhau) màu xanh từ trái

qua phải
- Continuous: Tô màu xanh (liền nhau) từ trái qua phải
- Marquee: Cuộn màu xanh chạy từ trái qua phải
Step Bước nhảy của ProgressBar
3. Ví dụ đơn giản về ProgressBar
Giả sử chúng ta có form: frmProgresBar. Trên form có một điều khiển
ProgressBar có tên progressBar1, một điều khiển timer có tên timer1 và một
label có tên là label1. Chúng ta minh họa sử dụng ProgressBar qua ví dụ đơn
giản sau:
int i = 1;

private void frmProgresBar_Load(object sender, EventArgs e)
{
//Đặt một số thông số cho ProgressBar
progressBar1.Maximum = 100;
progressBar1.Minimum = 0;
//Đặt một số thông số cho Timer
timer1.Interval = 1000; //1 giây
timer1.Enabled = true;
}
//Sự kiện Tick của Timer
private void timer1_Tick(object sender, EventArgs e)
{
progressBar1.Value = 10 * i;
label1.Text = i.ToString();
i = i + 1;
if (i > 10)
i = 1;
}
III. LISTVIEW

7
Chuyên đề 02: Công nghệ .NET
GV: Hoàng Quốc Việt
***
1. Chức năng
Điều khiển ListView dùng để trình bày các phần tử dạng danh sách với
nhiều hình dạng khác nhau.
2. Một số thuộc tính thường dùng
Tên Ý nghĩa
CheckBoxes Nhận một trong hai giá trị True hay False (mặc định là False)
- True: Hiển thị một checkbox bên cạnh phần tử đầu tiên của mỗi
hàng (1 hàng = 1 ListviewItem) trong Listview
- False: Ngược lại
Columns Tập các cột trong ListView là một Collection. Thông qua thuộc tính này
có thể thêm các cột vào Listview (Có thể thêm các cột vào Listview
thông qua giao diện đồ họa hay có thể viết Code. Chú ý: Phải đặt thuộc
tính View là Detail thì bạn mới có thể nhìn thấy các cột này)
ContextMenuStrip Gắn một menu ngữ cảnh với điều khiển ListView (khi nhấn chuột phải
vào Listview thì sẽ hiển thị menu này)
FullRowSelect Nhận một trong hai giá trị True hay False
- True: Cho phép chọn (bôi đen) cả hàng (của phần tử đang được
chọn. Chú ý: Thuộc tính View = Detail)
- False: Ngược lại
GridLines Nhận một trong hai giá trị True hay False
- True: Hiển thị lưới bao quanh và ngăn cách các hàng (Chỉ có hiệu
lực nếu thuộc tính View = Detail)
- False: Ngược lại
Group Khai báo nhóm để phân loại các phần tử sau khi trình bày trên điều
khiển Listview
HeaderStyle Đây là thuộc tính cho phép chọn Style cho Listview trong chế độ View là

Report
Items Là một Collection. Cho phép tạo ra các giá trị cho các hàng, cột trong
Listview (tất nhiên có thể dùng giao diện đồ họa hay viết Code)
LabelEdit Nhận một trong hai giá trị True hay False
- True: Cho phép thay đổi (sửa) Text của các phần tử (các Ô).
- False: Ngược lại
LabelWap Nhận một trong hai giá trị True hay False
- True: Chuỗi §HSPKTHYẽ tự động xuống hàng khi chiều dài không
đủ để trình bày
- False: Ngược lại
MultiSelect Nhận một trong hai giá trị True hay False
- True: Cho phép chọn nhiều hàng (ListviewItem). Mặc định là True
- False: Không cho phép chọn nhiều hàng
LargeImageList Đối tượng ImageList chứa danh sách các Image theo chỉ số (Index) từ
0 đến n-1. Được sử dụng nếu thuộc tính View là LargeIcon
SmallImageList Đối tượng ImageList chứa danh sách các Image theo chỉ số (index) từ
0 đến n-1. Được sử dụng nếu thuộc tính View là SmallIcon
Scrollable Nhận một trong hai giá trị True hay False
- True: Cho phép xuất hiện thanh trượt trong Listview (Khi số
ListViewItem nhiều và vượt qua chiều cao của ListView)
- False: Ngược lại
Sorting Sắp xếp giá trị các hàng (ListViewItem) trong ListView (Chỉ có hiệu lực
nếu thuộc tính View là Detail). Thuộc tính này nhận một trong các giá trị
sau
• None: Không Sắp xếp
• Ascending: Sắp xếp tăng
• Descending: Sắp xếp giảm
SelectedItems Trả về danh sách các phần tử được chọn (bôi đen)
CheckedItems Trả về danh sách các phần tử được check (tất nhiên thuộc tính
8

Chuyên đề 02: Công nghệ .NET
GV: Hoàng Quốc Việt
CheckBoxes = True)
View Các kiểu Hiển thị trên ListView. Thuộc tính View có thể nhận một số giá
trị sau:
• LargeIcon
• SmallIcon
• List
• Detail
• Title
→ Mặc định là: LargeIcon
3. Một số phương thức thường dùng
Tên Ý nghĩa
Clear Xóa tất cả ListView
RemoveAt Xóa bỏ một cột có chỉ số (ở vị trí) nào đó
………………………………
4. Một số sự kiện thường dùng
Tên Ý nghĩa
SelectedIndexChanged Xảy ra khi người sử dụng thay đổi phần tử được chọn trong ListView
ItemActivate Xảy ra khi chọn phần tử trên ListView
ItemChecked Khi Check vào biểu tượng Checkbox của mỗi phần tử trên điều khiển
ListView
5. Một số khái niệm liên quan đến ListView
Hình 1: Minh họa về ListView
9

×