Tài liệu về công nghệ .NET
Chun đề 02: Cơng nghệ NET GV: Hồng Quốc Việt I FORM *** Chức Form (hay gọi điều khiển Form) dùng để chứa điều khiển khác (Buttons, Label…) Một số thuộc tính thường dùng Điều khiển Form có số thuộc tính sau: Tên Name AcceptButton Autosize AutoSizeMode BackColor BackGroundImage CancelButton ControlBox Font ForeColor FormBorderStyle HelpButton Ỹ nghĩa Tên Form Trong Project tên Form phải khác Giá trị mà thuộc tính nhận tên Button Form (Nếu Form có chứa button) Khi bạn nhấn phím Enter kiện Click Button mà bạn chọn thực thi mà không cần nhấn chuột vào Button Nhận hai giá trị True hay False - True: Khơng cho phép thay đổi kích thước Form mà che điều khiển khác chứa Form - False: Ngược lại Cho phép thay đổi kích thước Form hay khơng? (Khi di chuyển chuột vào mép Form mà nên biểu tượng ↔ cho phép) Và nhận hai giá trị - GrowOnly: Cho phép - GrowAndShrink: Không cho phép Chọn màu cho Form Chọn ảnh làm cho Form Giá trị mà thuộc tính nhận tên Button Form (Nếu Form có chứa button) Khi bạn nhấn phím ESC kiện Click Button mà bạn chọn thực thi mà khơng cần nhấn chuột vào Button (tương tự thuộc tính AcceptButton ) Nhận hai giá trị True hay False - True: Cho phép các nút: MaximizeBox, MinimizeBox, Close Titlebar xuất - False: Không Cho phép các nút: MaximizeBox, MinimizeBox, Close Titlebar xuất (Khi thuộc tính MaximizeBox, MinimizeBox Form đi) Chọn kiểu Font chữ cho Form (Khi tất điều khiển thêm vào Form có thuộc tính Font giống thuộc tính Font Form) Tương tự thuộc tính Font áp dụng màu chữ Chọn Style cho Form (Có lựa chọn khác nhau) Nhận hai giá trị True hay False -1- Chuyên đề 02: Cơng nghệ NET GV: Hồng Quốc Việt - True: Cho phép xuất Buton có dấu ? Icon KeyPreview MaximizeBox MaximizeBox Opacity ShowIcon ShowInTaskbar StartPosition Text WindowState Titlebar (Với điều kiện: hai thuộc tính MaximizeBox, MaximizeBox phải đặt giá trị False) - False: Ngược lại → Thuộc tính hay kèm với điều khiển HelpProvider sau Chọn Icon (có mở rộng ico) máy tính bạn thay cho Icon mặc định Form mà VS tạo Nhận hai giá trị True hay False - True: Cho phép kiện bàn phím Form (KeyUp, KeyDown, KeyPress… Form) có hiệu lực - False: Ngược lại Nhận hai giá trị True hay False - True: Cho phép nút MaximizeBox Titlebar có hiệu lực - False: Ngược lại Tương tự thuộc tính MaximizeBox Độ suốt Form Nhận hai giá trị True hay False - True: Cho phép xuất Icon Form - False: Không cho phép xuất Icon Form Nhận hai giá trị True hay False - True: Cho phép Form khay Taskbar - False: Ngược lại Vị trí hiển thị Form so với hình hệ thống hay Form cha (5 lựa chọn khác nhau) Giá trị Text Form Trạng thái hiển thị Form chạy (Khi bạn nhấn vào nút Run VS) (Có lựa chọn khác nhau: Ẩn khay Taskbar, mở rộng hết hình…) Sự kiện Một số kiện thường dùng Tên AutoSizeChanged ControlAdded Ỹ nghĩa Xảy thuộc tính Autosize Form chuyển từ True → False hay ngược lại False → True Xảy thuộc tính BackColor Form thay đổi Xảy người dùng Click chuột vào vùng làm việc thuộc Form Xảy điều khiển Add vào Form ControlRemoved Xảy điều khiển bị xóa khỏi Form CursorChanged Xảy thuộc tính Cursor Form thay đổi DoubleClick Xảy người dùng DoubleClick vào vùng làm việc Form Xảy thuộc tính Font Form có thay đổi BackColorChanged Click FontChanged -2- Chuyên đề 02: Cơng nghệ NET GV: Hồng Quốc Việt ForeColorChanged Xảy thuộc tính ForeColor Form có thay đổi FormClosed KeyPress Xảy Form đóng (Nhấn vào nút X màu đỏ Titlebar) Xảy Form đóng (2 kiện FormClosed FormClosing thường dùng lập trình CSDL: xảy kiện đóng kết nối CSDL) Xảy người dùng nhấn phím hay tố hợp phím (tùy thuộc vào xử lý chúng ta) Xảy người dùng nhấn phím KeyUp Xảy người dùng nhả phím MouseClick Xảy người dùng nhấn chuột (một lựa chọn: Trái, giữa, phải) Xảy người dùng DoubleClick chuột vào vùng làm việc Form(một lựa chọn: Trái, giữa, phải) Xảy người dùng nhấn chuột FormClosing KeyDown MouseDoubleClick MouseDown MouseHover MouseLeave MouseMove MouseUp Move StyleChanged TextChanged Xảy người dùng di chuyển vào vùng làm việc Form Xảy di chuyển chuột khỏi vùng làm việc Form Xảy di chuyển chuột vùng làm việc thuộc Form (nếu Form có chứa điều khiển đó, di chuyển chuột điều khiển khơng xảy kiện MouseMove Form) Xảy người dùng nhả nhấn chuột (có thể chuột trái, chuột phải, chuột - chuột cuộn) Xảy di chuyển Form (có thay đổi vị trí Form) Xảy thuộc tính FormBorderStyle Form thay đổi Xảy thuộc tính Text Form thay đổi -3- Chuyên đề 02: Cơng nghệ NET GV: Hồng Quốc Việt Minh họa số kiện Form (Code) (Với Form có tên frmForm) 4.1 Sự kiện FormClosed //Sự kiện FormClosed - Sự kiện gọi Form đóng private void frmForm_FormClosed(object sender, FormClosedEventArgs e) { MessageBox.Show("Sự kiện FormClosed gọi", "FormClosed",MessageBoxButtons.OK,MessageBoxIcon.Information); } 4.2 Sự kiện FormClosing //Sự kiện FormClosing xảy Form đó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 } 4.3 Sự kiện KeyPress //Sự kiện KeyPress private void frmForm_KeyPress(object sender, KeyPressEventArgs e) { //Nếu không rõ phím nhấn nhấn phím kiện KeyPress Form xảy //Chỉ rõ phím nhấn phát sinh kiện KeyPress làm sau if (e.KeyChar = 'a') MessageBox.Show("Sự kiện KeyPress xảy bạn nhấn phím a"); } //Sự kiện KeyUp tương tự kiện KeyPress //Sự kiện KeyDown xảy nhấn phím hay tổ hợp phím -4- Chun đề 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 phím bàn phím kiện KeyPress gọi //Đồng thời kiện KeyDown gọi → KeyPress trường hợp riêng KeyDown //Áp dụng: Nhấn tổ hợp phím kiện KeyDown gọi //Như Windows Media: Nhấn Ctrl+F để di chuyển if (e.KeyCode == Keys.F && e.Modifiers == Keys.Control) MessageBox.Show("Sự kiện KeyDown gọi 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 nhấn //Chuột xảy kiện MouseClick Form //Còn bạn muốn bắt kiện người dùng nhấn chuột TRÁI, PHẢI, hay GIỮA làm if (e.Button == MouseButtons.Left) MessageBox.Show("Sự kiện MouseClick xảy bạn Click chuột TRÁI"); else if (e.Button==MouseButtons.Middle) MessageBox.Show("Sự kiện MouseClick xảy bạn Click chuột GIỮA"); else if (e.Button==MouseButtons.Right) MessageBox.Show("Sự kiện MouseClick xảy bạn Click chuột PHẢI"); } //Các 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) *** Khái niệm Collection Là kiểu liệu dùng lưu trữ nhiều phần tử có đặc tính Ví dụ: Mảng, Tập nút lệnh chứa Form, tập phần tử (Item) Combobox, Listbox……… Một biến thuộc tập hợp có thuộc tính phương thức sau - Count/Length: Lấy số phần tử 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 tồn phần tử khỏi tập hợp - Insert: Chèn phần tử vào tập hợp (Khác với Add thêm phần tử vào cuối tập hợp, Insert thêm vào vị trí xác định tập hợp) - Items[i]: Lấy phần tử thứ i tập hợp - …………………………… Duyệt phần tử Tập hợp Để duyệt phần tử 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} Minh họa tập hợp Giả sử có Combobox có tên Combobox1 Chúng ta minh họa tập hợp thông qua phần tử (Item) Combobox kiện Click Button có tên btCollection -6- Chun đề 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 phần tử sử dụng phương thức Clear() comboBox1.Items.Clear(); //Add thêm phần tử vào Combobox ->Sử dụng phương thức Add //Phần tử luôn đưa vào cuối comboBox1.Items.Add("Phần tử thứ 1"); //Add 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 phần tử vào -> Phần tử chèn vào vị trí ta định khơng phải vào cuối //Trong ví dụ này: Phần tử chèn vào vị trí thứ comboBox1.Items.Insert(2, "Phần thứ chèn"); //Lấy số phần tử Combobox int x = comboBox1.Items.Count; MessageBox.Show("Số phần tử Combobox là: "+x.ToString()); //Lấy giá trị phàn tử string str = comboBox1.Items[2].ToString(); //Phần tử số 3??? MessageBox.Show("Giá trị phần tử số 3: " + str.ToString()); } 4.2 Duyệt phần tử tập hợp //Giả sử duyệt tất nút Button Form (Tất nhiên: Form phải có vài Button) -7- Chun đề 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: Hồng Quốc Việt II COMBOBOX *** Chức Lưu trữ mục liệu (phần tử) dạng danh sách Một số thuộc tính thường dùng Tên Ý nghĩa Anchor Xác định vị trí “neo đậu” điều khiển so với Form AutoCompleteCustomSource Xác định phần tử cho tính AutoComplete Combobox (Tức tính AutoComplete áp dụng phần tử - Nếu thuộc tính AutoCompleteSource CustomSource) AutoCompleteMode Kiểu tự động tìm kiếm phần tử Combobox Có số lựa chọn sau - Suggest: Hiển thị kết qủa bên - Append: Tự động điền vào Combobox không hiển thị bên - SuggestAppend=Suggest+Append AutoCompleteSource Chọn nguồn Item cho Combobox sử dụng tính AutoComplete Chú ý số lựa chọn sau: - HistoryList: Danh sách Url lưu History IE - ListItems: Các phần tử Combobox thêm vào thơng qua thuộc tính Items - CustomSource: Giá trị phần tử thuộc tính AutoCompleteCustomSource BackColor Cursor Chọn màu cho Combobox Hình dáng chuột di chuyển vào Combobox DataSource Dock Enabled Chọn nguồn liệu (nguồn phần tử) cho Combobox (Có thể mảng liệu kiểu string, trường CSDL…) Vị trí bám dính Combobox Cho phép Combobox có hiệu lực hay khơng? Font ForeColor Chọn Font cho Combobox Chọn màu chữ phần tử (Item) Combobox Items Quản lý phần tử Combobox (thêm phần tử vào Combobox, xóa đi…) Giá trị ứng với phần tử chọn Nếu chọn True: Tự động xếp phần tử Combobox theo giá trị tăng dần Get/Set số phần tử chọn Text Sorted SelectedIndex -9- Chuyên đề 02: Cơng nghệ NET Giáo viên: Hồng Quốc Việt Chú ý: Các điều khiển có nhiều thuộc tính giống nhau: Anchor, Dock, Font, ForeColor, Enabled, Visible, TabIndex……Các thuộc tính giống với tất điều khiển Một số phương thức Tên Ý nghĩa Add Thêm phần tử vào Combobox AddRange Thêm mảng phần tử vào Combobox …………… → Tập Item có phương thức thuộc tính Collection Một số Sự kiện thường dùng Tên SelectedIndexChanged Ý nghĩa Xảy người dùng chọn phần tử khác khác Chú ý: Các điều khiển (Form, Label ,Button…) có nhiều kiện giống Ý nghĩa kiện giống với điều khiển Minh họa sử dụng Textbox số Code - 10 - Chun đề 02: Cơng nghệ NET GV: Hồng Quốc Việt cbcl.HeaderText = "Cột Combobox"; cbcl.Items.AddRange(Mang); dataGridView1.Columns.Add(cbcl);//Add vào vị trí cuối (Cột cuối cùng) cbcl.DisplayIndex = 2; //Add+DisplayIndex đưa vào vị trí định Insert (nhưng # Insert chỗ: số cuối cùng) //Còn hiển thị so ta định //Add thêm cột với vị trí định: Insert cbcl = new DataGridViewComboBoxColumn(); cbcl.HeaderText = "Cột Combobox2"; cbcl.Items.AddRange(Mang); dataGridView1.Columns.Insert(0, cbcl); } // -//Lây kiện Combobox (Cột DataGridView) ComboBox Combo; int i = 1; void SuKien(object sender, EventArgs e) { string str = Combo.Text; if(i==1) { MessageBox.Show(str); i = 0; } } //Quan trọng private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { 87 Chuyên đề 02: Công nghệ NET GV: Hoàng Quốc Việt if (e.Control is ComboBox) { Combo = (ComboBox)e.Control; Combo.SelectedIndexChanged += new EventHandler(SuKien); i = 1; } } //Sự kiện CellClick lấy giá trị Ô private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { int Cot = e.ColumnIndex; int Hang = e.RowIndex; if (dataGridView1[Cot, Hang].Value != null) { MessageBox.Show(dataGridView1[Cot, Hang].Value.ToString()); } } //End 88 Chun đề 02: Cơng nghệ NET GV: Hồng Quốc Việt DEPLOYMENT *** Các bước tạo cài đặt với “Setup Wizard” (VS2008) • • Bước 1: Mở Project (viết C# hay VB.NET) mà bạn muốn tạo cài đặt Bước 2: Add thêm Project vào cách: 89 Chun đề 02: Cơng nghệ NET GV: Hồng Quốc Việt • Bước 3: Chọn loại Project (Có thể Setup Wizard hay Setup Project được) Ở chọn Setup Wizard 90 Chuyên đề 02: Cơng nghệ NET GV: Hồng Quốc Việt • Bước 4: Trình Wizard xuất Làm theo bước hình đây: 91 Chuyên đề 02: Cơng nghệ NET GV: Hồng Quốc Việt 92 Chun đề 02: Cơng nghệ NET GV: Hồng Quốc Việt → Nhấn Finish để kết thúc trình Wizard • Bước 5: Giao diện hình Trong khung thoại ý folder: Application Folder: Mọi thứ chứa Folder cài đặt (bằng file Setup tạo ra) có thư mục cài đặt C:\Program File\Tên_Folder_Cài_Đặt → Có thể tạo thư mục thêm vào file vào thư mục (Nhất với ứng dụng CSDL phải làm giải vấn đề đường dẫn động CSDL) User’s Desktop: Dùng để tạo Shortcut ứng dụng Desktop User’s Programs Menu: Dùng để tạo folder Icon menu Start → Programs 93 Chuyên đề 02: Cơng nghệ NET GV: Hồng Quốc Việt 94 Chun đề 02: Cơng nghệ NET GV: Hồng Quốc Việt • Bước 6: Cấu hình số thơng số (Xem hình): 95 Chun đề 02: Cơng nghệ NET GV: Hồng Quốc Việt • Bước 7: Tạo Shortcut cho ứng dụng, Shortcut Desktop ứng dụng cài đặt xong • Bước 8: Di chuyển Icon vừa tạo vào thư mục Usert’s Desktop 96 Chuyên đề 02: Cơng nghệ NET GV: Hồng Quốc Việt • Bước 9: Tạo thư mục bên thư mục User’s Programs Menu Lập lại việc tạo Shortcut sau di chuyển Shortcut vào thư mục vừa tạo 97 Chun đề 02: Cơng nghệ NET GV: Hồng Quốc Việt • Bước 10: Tạo Folder thư mục Application Folder Add file (CSDL, Text…) vào thư mục (ví dụ CSDL đặt Debug\FolderCSDL\CSDL.mdb tạo folder FolderCSDL sau đí Add file CSDL.mdb vào Folder giải vấn đề đường dẫn động CSDL tạo cài đặt) 98 Chun đề 02: Cơng nghệ NET GV: Hồng Quốc Việt • Bước 11: Lựa chọn thư mục cài đặt 99 Chun đề 02: Cơng nghệ NET GV: Hồng Quốc Việt • Bước 12: Tùy biến cài đặt (Version, Tên tác giả ) 100 Chuyên đề 02: Công nghệ NET GV: Hồng Quốc Việt • Bước 13: Biên dịch: Các bước tạo cài đặt với “Setup Project” → Hoàn toàn tương tự so với “Setup Wizard” 101 ... MouseDown, MouseUp Xử lý tương tự -5- Chuyên đề 02: Cơng nghệ NET Giáo viên: Hồng Quốc Việt TẬP HỢP (COLLECTION) *** Khái niệm Collection Là kiểu liệu dùng lưu trữ nhiều phần tử có đặc tính Ví dụ:... is Button) MessageBox.Show(bt.Text); } } -8- Chun đề 02: Cơng nghệ NET Giáo viên: Hồng Quốc Việt II COMBOBOX *** Chức Lưu trữ mục liệu (phần tử) dạng danh sách Một số thuộc tính thường dùng Tên... Hình dáng chuột di chuyển vào Combobox DataSource Dock Enabled Chọn nguồn liệu (nguồn phần tử) cho Combobox (Có thể mảng liệu kiểu string, trường CSDL…) Vị trí bám dính Combobox Cho phép Combobox