Tài liệu thực hành môn Nhập môn điện toán - Bài thực hành số 9.1: Xây dựng UserControl và ứng dụng dùng nó
Trang 1
MÔN : LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Bài thực hành số 9.1 : Xây dựng UserControl và ứng dụng dùng nó
I. Mục tiêu :
▪
Giúp SV làm quen với cách thức xây dựng 1 UserControl giải quyết chức năng đặc
thù của mình bằng cách tích hợp nhiều điều khiển đã có sẵn.
▪
Củng cố kiến thức về việc định nghĩa và dùng delegate và events.
II. Nội dung :
Tích hợp các điều khiển có sẵn như Label, TextBox, Button để xây dựng 1
UserControl LoginControl phục vụ việc login và tài khoản của chương trình.
▪
III. Chuẩn đầu ra :
Sinh viên nắm vững và xây dựng thành thạo các UserControl có chức năng đặc thù
cũng như xây dựng ứng dụng dùng lai các UserControl.
▪
IV. Qui trình :
IV.1 Xây dựng User Control
1. Chạy VS .Net, chọn menu File.New.Project để hiển thị cửa sổ New Project.
2. Mở rộng mục Visual C# trong TreeView "Project Types", chọn mục Windows, chọn icon
"Windows Control Library" trong listbox "Templates" bên phải, thiết lập thư mục chứa
Project trong listbox "Location", nhập tên Project vào textbox "Name:" (td.
MyUserControls), click button OK để tạo Project theo các thông số đã khai báo.
3. Ngay sau Project vừa được tạo ra, nó có sẵn 1 User Control mới có tên mặc định là
UserControl1, nó chỉ là 1 vùng hình chữ nhật trống, chứ chưa có gì. Dời chuột về cửa sổ
Solution Explorer (thường ở trên phải màn hình), ấn kép chuột vào mục UserControl1.cs
để hiển thị menu lệnh, chọn option Rename, nhập tên mới là LoginControl.cs và chọn
button Yes khi được hỏi.
4. Nếu cửa sổ ToolBox chưa hiển thị chi tiết, chọn menu View.Toolbox để hiển thị nó
(thường nằm ở bên trái màn hình). Click chuột vào button
(Auto Hide) nằm ở góc trên
phải cửa sổ ToolBox để chuyển nó về chế độ hiển thị thường trực. Duyệt tìm phần tử
Label (trong nhóm Common Controls), chọn nó, dời chuột về vị trí thích hợp trong
LoginControl và vẽ nó với kích thước mong muốn. Hiệu chỉnh thuộc tính Text = "Nhập
tên user :". Nếu cần, hãy thay đổi vị trí và kích thước của Label và của LoginControl.
5. Dời chuột về cửa sổ ToolBox, duyệt tìm phần tử TextBox (trong nhóm Common
Controls), chọn nó, dời chuột về vị trí thích hợp trong LoginControl (bên phải Label vừa
vẽ) và vẽ nó với kích thước mong muốn. Hiệu chỉnh thuộc tính (Name) = txtUser. Nếu
cần, hãy thay đổi vị trí và kích thước của TextBox.
6. Lặp lại các bước 4 và 5 để vẽ Label "Nhập password :", TextBox có (Name) =
txtPassword, 1 button "Đăng nhập" có (Name) = btnLogin.
7. Dời chuột về và chọn button "Đăng nhập", cửa sổ thuộc tính của nó sẽ hiển thị, click icon
để hiển thị danh sách các sự kiện Button, duyệt tìm sự kiện Click, ấn kép chuột vào
comboBox bên phải của Click để máy tạo tự động hàm xử lý rồi viết code cho hàm này
như sau :
private void btnLogin_Click(object sender, EventArgs e) {
//kiểm tra đã nhập user name chưa
if (txtUser.Text.Length == 0) {
MessageBox.Show("Hãy nhập tên user."); return;
}
//kiểm tra đã nhập password chưa
if (txtPassword.Text.Length == 0) {
MessageBox.Show("Hãy nhập password."); return;
}
//tạo sự kiện Click để gọi hàm xử lý sự kiện Click
Trang 2
//do người lập trình ứng dụng viết
OnSubmitClicked(sender,e);
}
8. Viết thêm đoạn code định nghĩa delegate, event và 2 thuộc tính UserName, Password
như sau (nằm trước hay sau hàm sự lý Click chuột cho button) :
//định nghĩa delegate phục vụ cho event
public delegate void SubmitClickedHandler(object sender, EventArgs e);
//định nghĩa event SubmitClicked
public event SubmitClickedHandler SubmitClicked;
//định nghĩa hàm xử lý sự kiện SubmitClicked
protected virtual void OnSubmitClicked(object sender, EventArgs e) {
// kiểm tra xem có hàm xử lý sự kiện SubmitClicked ?
//nếu có thì gọi nó
if (SubmitClicked != null) {
SubmitClicked(sender, e); // Notify Subscribers
}
}
//định nghĩa thuộc tính giao tiếp có tên là UserName
public string UserName {
get { return txtUser.Text; }
set { txtUser.Text = value; }
}
//định nghĩa thuộc tính giao tiếp có tên là Password
public string Password {
get { return txtPassword.Text; }
set { txtPassword.Text = value; }
}
9. Chọn menu Build.Build Solution để dịch và tạo file thư viện chứa các user control. Nếu
có lỗi thì sữa và dịch lại.
10. Nếu dịch thành công, file thư viện có tên là MyUserControls.dll sẽ được tạo ra trong thư
mục con Debug (hay Release tùy chế độ dịch) trong thư mục chứa Project. Ta nên copy
file này vào thư mục chung chứa các file thư viện để sau này dùng tiện lợi hơn.
IV.2 Xây dựng ứng dụng dùng User Control
1. Chạy VS .Net, chọn menu File.New.Project để hiển thị cửa sổ New Project.
2. Mở rộng mục Visual C# trong TreeView "Project Types", chọn mục Windows, chọn icon
"Windows Application" trong listbox "Templates" bên phải, thiết lập thư mục chứa Project
trong listbox "Location", nhập tên Project vào textbox "Name:" (td. UseLoginControl),
click button OK để tạo Project theo các thông số đã khai báo.
3. Form đầu tiên của ứng dụng đã hiển thị trong cửa sổ thiết kế, việc thiết kế form là quá
trình lặp 4 thao tác tạo mới/xóa/hiệu chỉnh thuộc tính/tạo hàm xử lý sự kiện cho từng đối
tượng cần dùng trong form.
4. Nếu cửa sổ ToolBox chưa hiển thị, chọn menu View.Toolbox để hiển thị nó (thường nằm
ở bên trái màn hình). Dời chuột vào trong cửa sổ Toolbox, ấn phải chuột để hiển thị
menu lệnh, chọn option "Choose Items". Khi cửa sổ "Choose Toolbox Items" hiển thị,
click chuột vào button Browse để hiển thị cửa sổ duyệt tìm file, hãy duyệt tìm đến thư
mục chứa file MyUserControls.dll vừa xây dựng được trong các slide trước, chọn file dll
rồi click button OK để "add" các usercontrol trong thư viện này vào cửa sổ Toolbox của
Project ứng dụng. Bây giờ việc dùng LoginControl giống y như các điều khiển có sẵn
khác.
5. Duyệt tìm phần tử LoginControl (trong nhóm General ở cuối cửa sổ Toolbox), chọn nó,
dời chuột về vị trí thích hợp trong Form và vẽ nó với kích thước mong muốn.
Trang 3
6. Chọn đối tượng LoginControl để hiển thị cửa sổ thuộc tính của nó, click chuột vào button
Events để hiển thị các event của nó. duyệt tìm event SubmitClicked vào tạo hàm xử lý
cho event này. Viết code cho hàm xử lý như sau :
private void loginControl1_SubmitClicked(object sender, EventArgs e) {
//viết code xử lý việc đăng nhập tài khoản
//ở đây chỉ hiển thị thông báo để kiểm tra
MessageBox.Show("Đã đăng ký tài khoản : "
+ loginControl1.UserName);
}
7. Chọn menu Debug.Start Debugging để dịch và chạy ứng dụng. Hãy thử sử dụng đối
tượng LoginControl và đánh giá kết quả.
Bạn đang xem tài liệu "Tài liệu thực hành môn Nhập môn điện toán - Bài thực hành số 9.1: Xây dựng UserControl và ứng dụng dùng nó", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
tai_lieu_thuc_hanh_mon_nhap_mon_dien_toan_bai_thuc_hanh_so_9.doc

