nhập môn điện toán,nguyễn trung hiệp,dhbkhcm 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[.]
Trang 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 ứng dụng dùng I Mục tiêu : Giúp SV làm quen với cách thức xây dựng UserControl giải chức đặc thù cách tích hợp nhiều điều khiển có sẵn Củng cố kiến thức việc định nghĩa dùng delegate events II Nội dung : Tích hợp điều khiển có sẵn Label, TextBox, Button để xây dựng UserControl LoginControl phục vụ việc login tài khoản chương trình III Chuẩn đầu : Sinh viên nắm vững xây dựng thành thạo UserControl có chức đặc thù xây dựng ứng dụng dùng lai UserControl IV Qui trình : IV.1 Xây dựng User Control Chạy VS Net, chọn menu File.New.Project để hiển thị cửa sổ New Project Mở rộng mục Visual C# TreeView "Project Types", chọn mục Windows, chọn icon "Windows Control Library" listbox "Templates" bên phải, thiết lập thư mục chứa Project listbox "Location", nhập tên Project vào textbox "Name:" (td MyUserControls), click button OK để tạo Project theo thông số khai báo Ngay sau Project vừa tạo ra, có sẵn User Control có tên mặc định UserControl1, vùng hình chữ nhật trống, chưa có Dời chuột cửa sổ Solution Explorer (thường phải 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 LoginControl.cs chọn button Yes hỏi Nếu cửa sổ ToolBox chưa hiển thị chi tiết, chọn menu View.Toolbox để hiển thị (thường nằm bên trái hình) Click chuột vào button (Auto Hide) nằm góc phải cửa sổ ToolBox để chuyển 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ị trí thích hợp LoginControl vẽ 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, thay đổi vị trí kích thước Label LoginControl Dời chuột 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ị trí thích hợp LoginControl (bên phải Label vừa vẽ) vẽ với kích thước mong muốn Hiệu chỉnh thuộc tính (Name) = txtUser Nếu cần, thay đổi vị trí kích thước TextBox Lặp lại bước để vẽ Label "Nhập password :", TextBox có (Name) = txtPassword, button "Đăng nhập" có (Name) = btnLogin Dời chuột chọn button "Đăng nhập", cửa sổ thuộc tính hiển thị, click icon để hiển thị danh sách kiện Button, duyệt tìm kiện Click, ấn kép chuột vào comboBox bên phải Click để máy tạo tự động hàm xử lý viết code cho hàm 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 kiện Click để gọi hàm xử lý kiện Click CuuDuongThanCong.com https://fb.com/tailieudientucntt Trang //do người lập trình ứng dụng viết OnSubmitClicked(sender,e); } Viết thêm đoạn code định nghĩa delegate, event thuộc tính UserName, Password sau (nằm trước hay sau hàm 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ý kiện SubmitClicked protected virtual void OnSubmitClicked(object sender, EventArgs e) { // kiểm tra xem có hàm xử lý kiện SubmitClicked ? //nếu có gọi if (SubmitClicked != null) { SubmitClicked(sender, e); // Notify Subscribers } } //định nghĩa thuộc tính giao tiếp có tên 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 Password public string Password { get { return txtPassword.Text; } set { txtPassword.Text = value; } } Chọn menu Build.Build Solution để dịch tạo file thư viện chứa user control Nếu có lỗi sữa dịch lại 10 Nếu dịch thành cơng, file thư viện có tên MyUserControls.dll tạo thư mục Debug (hay Release tùy chế độ dịch) thư mục chứa Project Ta nên copy file vào thư mục chung chứa file thư viện để sau dùng tiện lợi IV.2 Xây dựng ứng dụng dùng User Control Chạy VS Net, chọn menu File.New.Project để hiển thị cửa sổ New Project Mở rộng mục Visual C# TreeView "Project Types", chọn mục Windows, chọn icon "Windows Application" listbox "Templates" bên phải, thiết lập thư mục chứa Project listbox "Location", nhập tên Project vào textbox "Name:" (td UseLoginControl), click button OK để tạo Project theo thông số khai báo Form ứng dụng hiển thị cửa sổ thiết kế, việc thiết kế form trình lặp thao tác tạo mới/xóa/hiệu chỉnh thuộc tính/tạo hàm xử lý kiện cho đối tượng cần dùng form Nếu cửa sổ ToolBox chưa hiển thị, chọn menu View.Toolbox để hiển thị (thường nằm bên trái hình) Dời chuột vào 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, duyệt tìm đến thư mục chứa file MyUserControls.dll vừa xây dựng slide trước, chọn file dll click button OK để "add" usercontrol thư viện vào cửa sổ Toolbox Project ứng dụng Bây việc dùng LoginControl giống y điều khiển có sẵn khác 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ị trí thích hợp Form vẽ với kích thước mong muốn CuuDuongThanCong.com https://fb.com/tailieudientucntt Trang Chọn đối tượng LoginControl để hiển thị cửa sổ thuộc tính nó, click chuột vào button Events để hiển thị event duyệt tìm event SubmitClicked vào tạo hàm xử lý cho event Viết code cho hàm xử lý sau : private void loginControl1_SubmitClicked(object sender, EventArgs e) { //viết code xử lý việc đăng nhập tài khoản //ở hiển thị thông báo để kiểm tra MessageBox.Show("Đã đăng ký tài khoản : " + loginControl1.UserName); } Chọn menu Debug.Start Debugging để dịch chạy ứng dụng Hãy thử sử dụng đối tượng LoginControl đánh giá kết CuuDuongThanCong.com https://fb.com/tailieudientucntt