- Các thuộc tính: TextDirection: chọn hình thức trình bày menu Items: Chứa những top menu item MdiWindowListItem: Chọn top menu item hiển thị tên các cửa sổ con... - Các thuộc tính
Trang 1TRƯỜNG ĐẠI HỌC NHA TRANG
CHỦ ĐỀ 3 WINDOWS FORM
LẬP TRÌNH CƠ SỞ DỮ LIỆU VỚI C#
Trang 2NỘI DUNG:
Cách tạo thực đơn (Menu)
Tạo lập và quản lý Form
Các điều khiển thường dùng trong Windows Form
Trang 3NỘI DUNG:
Cách tạo thực đơn (Menu)
Tạo lập và quản lý Form
Các điều khiển thường dùng trong Windows Form
Trang 5- Các thuộc tính:
TextDirection: chọn hình thức trình bày menu
Items: Chứa những top menu item
MdiWindowListItem: Chọn top menu item hiển thị tên các cửa sổ con
Trang 6- Các thuộc tính:
Checked: Xác định trạng thái check của menu item
Index: Chỉ mục menu item trong menu cha
DropDownItems: Chứa những menu item con
ShortcutKeys: Phím tắt
Text: Tiêu đề menu item
ShowShortcutKeys: Xác định trạng thái hiện thị phím tắt bên cạnh menu item
- Sự kiện: Click
Trang 7Cách tạo Menu:
Trang 8Thiết lập Shortcut:
Trang 9Sự kiện cho Menu item:
private void treeViewToolStripMenuItem_Click(object sender, EventArgs e) {
frmTreeView f = new frmTreeView();
Trang 10- Xuất hiện khi người dùng Click chuột phải
Trang 11- ContextMenuStrip tạm thời thể hiện trên cùng của form Khi chạy thì sẽ không hiển thị cho đến khi được gọi.
Soạn thảo Context Menu tương tự như
Menu bình thường
Trang 12- Mỗi control đều có property là: ContextMenuStrip
Khai báo thuộc tính này với ContextMenuStrip
• Khi đó user kích chuột phải lên control thì sẽ hiển thị context Menu đã cài đặt sẵn
- Khai báo trình xử lý sự kiện Click cho ContextMenu
Kích đúp vào menu item của Context Menu để tạo
Hoặc trong cửa sổ Properties -> Event kích đúp vào sự kiện Click.
Trang 13private void copyToolStripMenuItem_Click( object sender, EventArgs e)
Trang 14ContextMenuStrip:
Trang 15NỘI DUNG:
Cách tạo thực đơn (Menu)
Tạo lập và quản lý cửa sổ Form
Các điều khiển thường dùng trong Windows Form
Trang 16Lớp MessageBox:
- Dùng để hiển thị hộp thoại với tiêu đề, các loại nút và biểu tượng khác nhau.
(MessageBoxButtons Enum), icons (MessageBoxIncon Enum)
Trang 17Lớp MessageBox:
- Phương thức Show trả về giá trị là một trong các Enum của DialogResult: OK, Cancel, Yes,…
Trang 19Một số hình thức của Show:
- MessageBox.Show(String, String, MBB, MBI):
MessageBox.Show("Chào các bạn!","Lời chào", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
Trang 20Một số hình thức của Show:
- MessageBox.Show(String, String, MBB, MBI, DB):
MessageBox.Show("Chào các bạn!","Lời chào", MessageBoxButtons.OKCancel, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2);
Trang 21Giá trị trả về của Show:
private void button1_Click( object sender, EventArgs e) {
if (MessageBox.Show("Bạn chắc chắn đóng Form?", "Thông báo", MessageBoxButtons YesNo, MessageBoxIcon Warning,
MessageBoxDefaultButton Button1) == DialogResult.Yes )
Trang 22NỘI DUNG:
Cách tạo thực đơn (Menu)
Tạo lập và quản lý cửa sổ Form
Các điều khiển thường dùng trong Windows Form
Trang 23Tạo Form (Cửa sổ - Window)
Trang 24Form từ màn hình thiết kế:
Trang 27Thuộc tính của Form:
Trang 28Thuộc tính nhận dạng:
- Name: mỗi Form có một giá trị duy nhất trong một Project.
- Text: chuỗi trên thanh tiêu đề
- Icon: hình ảnh làm biểu tượng Form
- ShowIcon: hiển thị|không hiển thị biểu tượng Form.
Trang 29Thuộc tính định dạng:
- StartPosition: vị trí hiển thị Form
Trang 30Thuộc tính thực đơn:
Trang 31Thuộc tính ứng với Child Form:
private void btnLogin_Click(object sender, EventArgs e) {
if (this.ActiveMdiChild != null) this.ActiveMdiChild.Close();
frmLogin frm = new frmLogin();
frm.MdiParent = this;
frm.Show();
}
Trang 32Sự kiện của Form:
- FormClosing: xảy ra khi Form đang đóng
- Activated: xảy ra khi Form được kích hoạt
- Load: xảy ra trước khi Form hiển thị lần đầu
- ResizeBegin|ResizeEnd: xảy ra khi kích thước của Form thay đổi
Trang 33Sự kiện của Form:
Trang 34Sự kiện của Form:
Trang 35Phương thức của Form:
- Activate: kích hoạt Form
Trang 36NỘI DUNG:
Cách tạo thực đơn (Menu)
Tạo lập và quản lý Form
Các điều khiển thường dùng trong Windows Form
Trang 37Các điều khiển (Controls):
Trang 38Một số thuộc tính của control:
TabIndex Thứ tự tab của control (mặc định được VS.NET thiết lập)
Enabled Thiết lập trạng thái của Control
Anchor Neo giữ control ở vị trí xác định, cho phép control di chuyển theo vị trí tương ứng với resize của Form.
Trang 39Một số thuộc tính của control:
TabStop Nếu true, user có thể sử dụng tab để select control
Trang 40Anchor:
Trang 41Dock:
Trang 42Label, TextBox, Button
Controls:
Trang 43Label, LinkLabel:
- Label: Trình bày thuộc tính dạng tiêu đề, chú giải cho các điều khiển khác, đầu ra của xử lý.
- LinkLabel: trình bày liên kết Internet
Label lb=new Label();
Lb.Text=“Trường Đại học Nha Trang”; this.Controls.Add(lb);
Trang 44 MultiLine: Giá trị True cho phép nhập nhiều dòng
PasswordChar: Giá trị nhập được thay thế bởi ký tự khai báo trong thuộc tính này (Multiline=False)
Trang 45TextBox:
Trang 46 MouseClick: Xảy ra khi Click vào Textbox
MouseDoubleClick: Xảy ra khi Click đúp vào Textbox
TextChanged: Xảy ra khi chuỗi trên điều khiển thay đổi
Leave: Xảy ra khi dời con trỏ khỏi Textbox
Trang 47- Sử dụng control ErrorProvider để cảnh báo lỗi khi user nhập không đúng
Trong Design View: kéo ErrorProvider từ ToolBox/Component vào form
Chặn xử lý sự kiện TextChanged khi user nhập liệu vào textbox
Nếu nhập sai thiết lập lỗi cho control ErrorProvider cảnh báo!
Trang 48private void textBox2_TextChanged(object sender, EventArgs e) { Control c = ( Control )sender;
if (! Char IsDigit(c.Text[c.Text.Length - 1])) this.errorProvider1.SetError(c, "Đây không pha ải sôố !" );
Trang 49Icon hiển thị lỗi
Di chuyển chuột vào icon, tooltip xuất hiện
Trang 50Button:
- Các thuộc tính:
Image: trình bày hình trên điều khiển
Text: chuỗi trình bày ứng với diễn giải
MouseClick: click chuột trên điều khiển
Trang 51Button:
Trang 52ComboBox, ListBox
Controls:
Trang 53ComboBox:
- Dùng để trình bày danh sách các phần tử (item).
- Các thuộc tính:
DataSource: tập dữ liệu điền vào điều khiển
DisplayMember: Tên của trường tương ứng với chuỗi trình bày trên điều khiển
DropDownStyle: kiểu trình bày danh sách phần tử
Items: tập các phần tử có trong điều khiển
Text: giá trị chuỗi ứng với nhãn đang chọn
Trang 54Combobox:
Trang 55ComboBox:
Trang 56Gõ K
Auto Complete
Trang 57ComboBox:
MouseClick, MouseDoubleClick
SelectValueChanged: xảy ra khi giá trị của phần tử được thay đổi
Trang 58- Trình bày danh sách phần tử dạng liệt kê và cho phép người sử dụng chọn nhiều phần tử cùng một lúc.
- Các thuộc tính:
MultiColumn: danh sách phân tử có nhiều cột
Items: tập các phần tử trong điều khiển
Trang 59ListBox:
Trang 60CheckBox, CheckListBox, RadioButton
Controls:
Trang 61CheckBox:
- Cho phép chọn một trong hai giá trj true/false
- Các thuộc tính:
Checked: trạng thái chọn (True) hay không (False)
Text: chuỗi diễn giải của tùy chọn.
- Các sự kiện:
MouseClick, Click, CheckedChanged: xảy ra khi click vào điều khiển.
TextChanged: xảy ra khi diễn giải của điều khiển thay đổi.
Trang 62private void chkgtnam_CheckedChanged( object sender, EventArgs e) {
if (chkgtnam.Checked == true ) MessageBox Show( "Giới tính nam" );
else
Trang 63- Các thuộc tính:
CheckedItems: trả về tập phần tử được chọn
Items: tập các phần tử có trong điều khiển
SelectionMode: cho phép chọn nhiều phần tử
MouseClick, Click: xảy ra khi click vào điều khiển
ItemChecked: xảy ra khi click vào biểu tượng checkbox của từng phần tử
Trang 65- Các thuộc tính:
Appearace: hình dạng của điều khiển
Checked: trạng thái chọn (True) hay không (False)
Text: chuỗi diễn giải của tùy chọn
- Các sự kiện:
MouseClick, Click, CheckedChanged
Trang 66private void rBtnNu_CheckedChanged( object sender, EventArgs e) {
if (rBtnNu.Checked) MessageBox.Show(" Sinh viên nữ ");
else MessageBox.Show(" Sinh viên nam ");
}
Trang 67ListView, TreeView
Controls:
Trang 68- Các thuộc tính:
Columns: khai báo số cột của điều khiển
MultiSelect: cho phép chọn nhiều phần tử (True)
LargeImageList: đối tượng ImageList chứa danh sách Image sử dụng khi thuộc tính View là LargeIcon.
View: chế độ trình bày trên điều khiển
SelectedItems: danh sách phần tử được chọn
Trang 70- Thêm các item vào ListView
Thêm item trong màn hình thiết kế form
Thêm item thông qua code
- Các lớp định nghĩa Item
Mỗi item trong ListView có các item phụ gọi là subitem
• Lớp ListViewSubItem là inner class của ListViewItem
Trang 71 SelectedIndexChanged
Trang 72item1 = new ListViewItem(i.ToString());
Trang 73- Trình bày danh sách phần tử phân cấp theo từng nút hình cây.
- Các thuộc tính:
Nodes: khai báo số nút của điều khiển
ShowPlusMinus: xuât hiện + và – hay không
ShowRootLine: cho phép trình bày nút gốc
- Các sự kiện:
Click, DoubleClick
Trang 74private void btnXem_Click(object sender, EventArgs e) { byte i = 0;
foreach (Sinh_Vien s in ds) { tVwSinhvien.Nodes.Add(s.mssv);
tVwSinhvien.Nodes[i].Nodes.Add(s.hoten);
tVwSinhvien.Nodes[i].Nodes.Add(s.noisinh);
Trang 75private void tVwSinhvien_AfterSelect( object sender, TreeViewEventArgs e) {
Trang 76GroupBox, Panel & TabControl
Controls:
Trang 77- Các thuộc tính:
Text: tựa đề của điều khiển
Controls: danh sách control chứa trong Groupbox
Trang 78GroupBox:
Trang 79- Chứa nhóm các control, không có tựa đề, có thanh cuộn (scrollbar)
- Các thuộc tính:
AutoScroll: Xuất hiện khi panel quá nhỏ để hiển thị hết các control, mặc định là false
BorderStyle: Biên của panel, mặc định là None, các tham số khác như Fixed3D, FixedSingle
Controls: danh sách control chứa trong Panel
Trang 80Panel:
Trang 81TabControl:
Trang 82 SelectedIndexChanged: xảy ra khi giá trị của thuộc tính SelectIndex thay đổi
Trang 83TabControl
TabPage TabPage
Trang 84private void tabControl1_Click( object sender, EventArgs e) {
if ((tabControl1.SelectedIndex) == 1) { Hien thj ListView }
Trang 85DateTimePicker, MonCalendar
Controls:
Trang 86DateTimePicker / MonCalendar:
- Cho phép người sử dụng chọn giá trị thời gian
- Các thuộc tính:
CustomFormat, Format: định dạng thời gian
MaxDate, MinDate: ngày lớn nhất/ nhỏ nhất
Value: giá trị thời gian trên điều khiển
- Các sự kiện:
ValueChanged: xảy ra khi người dùng chọn giá trị khác với trước đó.
Trang 87DateTimePicker / MonCalendar:
private void dateTimePicker1_ValueChanged(object sender, EventArgs e) {
Trang 88PictureBox & ImageList
Controls:
Trang 89- Sử dụng để hiển thị ảnh dạng bitmap, icon, JPEG, GIF,…
- Sử dụng thuộc tính Image để thiết lập ảnh lúc design hoặc runtime.
Image: ảnh cần hiển thị
SizeMode: Normal, StretchImage, AutoSize, …
Trang 90PictureBox:
Trang 92 Kéo control ImageList từ ToolBox thả vào Form
Thiết lập kích thước của các ảnh: ImageSize
Bổ sung các ảnh vào ImageList qua thuộc tính Images
Khai báo nguồn image là image list vừa tạo cho control (thuộc tính ImageList)
Thiết lập các item/node với các ImageIndex tương ứng ( design view hoặc code view)
Trang 93ImageList: