Chương 8: Lập trình với Windows Forms

 Một số vấn đề lập trình trên Windows  Forms  Tạo Main Menu  Common Dialog  Message Box  Controls

pdf52 trang | Chia sẻ: lylyngoc | Lượt xem: 1674 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Chương 8: Lập trình với Windows Forms, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM Chương 8: Lập trình với Windows Forms Giảng viên: Ths. Nguyễn Thị Khiêm Hòa Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 2 Nội dung  Một số vấn đề lập trình trên Windows  Forms  Tạo Main Menu  Common Dialog  Message Box  Controls Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 3 Lập trình trên môi trường Windows  Lập trình sự kiện  Hướng đối tượng  Component Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 4 Tạo ứng dụng trên Windows  File \ New \ Project Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 5 Form  Kế thừa từ System.Windows.Forms.Form  Là lớp đối tượng  Có thể thiết kế các thành phần (control) trên form Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 6 Thêm Form vào ứng dụng Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 7 Thuộc tính của Form  Name  BackColor  BackGroundImage  ForeColor  Text  Font  AcceptButton  CancelButton  Opacity  Icon  Topmost  MaximizeBox  MinimizeBox  ControlBox  StartPosition  WindowState CenterScreen Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 8 Phương thức của Form  Show( )  Activate( )  Refresh( )  Hide( )  Close( ) Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 9 Sự kiện trên Form  Load  Activated  Shown  DeActivate  FormClosing  FormClosed Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 10 Đặt Form khởi động  Trong class Program.cs: static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Test_Form()); }  Thay tên form được đặt làm form khởi động trong lệnh Application.Run(new ()); Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 11 Tạo Main Menu  Cách tạo Main Menu  Gắn các phương thức cho menu Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 12 Cách tạo Main Menu Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 13 Bài tập Tạo Form có menu như mẫu Thực hiện: 20 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 14 Gắn các phương thức cho menu  Double-click vào menu và viết lệnh private void InitializeComponent() { … this.mnExit.Click += new System.EventHandler(this.mnExit_Click); } private void mnExit_Click(object sender, EventArgs e) { this.Close(); } Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 15 Common Dialog Box private void mnLoad_Click(object sender, EventArgs e) { OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "jpg files (*.jpg)|*.jpg|All files (*.*)|*.*"; dlg.Title = "Load Photo"; if (dlg.ShowDialog() == DialogResult.OK) {try { pbxImage.Image = new Bitmap(dlg.OpenFile()); } catch (Exception ex) { MessageBox.Show("Unable to load file:\n" + ex.Message); } } dlg.Dispose(); }  Dùng Toolbox hoặc viết lệnh Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 16 Common Dialog Box private void mnLoad_Click(object sender, EventArgs e) { … if (dlg.ShowDialog() == DialogResult.OK) { … } … }  Thuộc tính DialogResult: OK, Cancel, Abort, Retry, Ignore, Yes, No (None) Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 17 Message Box  In ra một thông báo của hệ thống private void mnExit_Click(object sender, EventArgs e) { if (MessageBox.Show("Do you want to exit?", "My Application", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { this.Close(); } } Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 18 MDI Form  Cửa sổ cho phép chứa nhiều tài liệu  Đặt form làm cửa sổ chính (chứa các cửa sổ khác): this.IsMdiContainer = True;  Đặt form làm cửa sổ con: frmChild.MdiParent = this;  Tạo của sổ mới là cửa sổ con: private void mnNew_Click(object sender, EventArgs e) { Form frmChild = new Form(); frmChild.MdiParent = this; frmChild.text = “abc”; frmChild.Show(); } Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 19 Quản lý cửa sổ MDI  Sắp xếp các cửa sổ trong MDI private void mnTileArrangeIcons_Click(object sender, EventArgs e) { LayoutMdi(MdiLayout.ArrangeIcons); } private void mnCascade_Click(object sender, EventArgs e) { LayoutMdi(MdiLayout.Cascade); } private void mnTileHorizontal_Click(object sender, EventArgs e) { LayoutMdi(MdiLayout.TileHorizontal); } private void mnTileVertical_Click(object sender, EventArgs e) { LayoutMdi(MdiLayout. TileVertical); } Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 20 Quản lý cửa sổ MDI  Tạo danh sách các cửa sổ MDI trong menu childForm.Text = dlg.FileName; mnWindow.DropDownItems.Add(childForm.Text); Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 21 ToolBar  Tạo ToolBar  Chọn ToolStrip vẽ lên form  Click vào Button để tạo các nút trên ToolBar Button: Nút ấn DropDownButton: Nút sổ xuống Separator: Đường phân cách Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 22 ToolBar  Định hình ảnh cho nút trên ToolBar:  Right-click chọn Set Image  Local Resource Import Chọn hình ảnh  Viết lệnh  Gọi từ menu: .PerformClick();  Viết lệnh trực tiếp Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 23 Picture Box  Thuộc tính  Image  ImageLocation  SizeMode private void mnStretch_Click(object sender, EventArgs e) { pbxImage.SizeMode = PictureBoxSizeMode.StretchImage; } private void mnActualSize_Click(object sender, EventArgs e) { pbxImage.SizeMode = PictureBoxSizeMode.Normal; } StretchImage Normal AutoSize CenterImage Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 24 Bài tập Thêm vào form menu View như hình sau: Thực hiện: 15 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 25 Label  Thuộc tính  Text  Font  TextAlign  TabIndex  Event  Click  TextChanged  KeyPress Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 26 TextBox  Thuộc tính  Text  Font  TextAlign  TabIndex  Event  Click  TextChanged  KeyPress MultiLine PasswordChar ReadOnly ScrollBar AcceptReturn Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 27 Button  Thuộc tính  Text  Font  TextAlign  TabIndex  Event  Click Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 28 Bài tập Tạo Form, khi click vào nút View thì nội dung được gõ trong textbox sẽ hiển thị trong label Thực hiện: 15 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 29 Bài tập  Thiết kế và viết chương trình máy tính Calculator đơn giản Thực hiện: 45 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 30 List Box  Thuộc tính  Items  MultiColumn  SelectedIndex  SelectedIndices SelectedItem SelectedItems Sorted SelectionMode Count  Truy xuất dòng thứ i trong ListBox for(int i = 0, i< ls1.Count, i++) { ls2.Items.Add(ls1.Items[i].ToString()); } One Multi Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 31 List Box  Phương thức  GetSelected(index)  Add(text)  RemoveAt(row)  Clear()  Event  SelectedIndexChanged Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 32 Bài tập Tạo form thực hiện việc thêm xóa các thành phần trong ListBox như sau: Thực hiện: 15 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 33 Bài tập Tạo form thực hiện việc di chuyển qua lại giữa hai ListBox như sau: Thực hiện: 15 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 34 Checked ListBox  Thuộc tính  CheckedItems  CheckedIndices  Phương thức  GetItemChecked(index)  Event  ItemCheck Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 35 Bài tập Tạo form theo mẫu, các Item được chọn trong Checked ListBox sẽ hiển thị trong ListBox và sẽ mất trong ListBox khi không được chọn Thực hiện: 15 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 36 Combo Box  Thuộc tính  DropDownStyle  Items  SelectedIndex  SelectedItem  Sorted Simple DropDown DropDownList Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 37 Combo Box  Phương thức  Add(text)  RemoveAt(row)  Clear()  Event  SelectedIndexChanged Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 38 Bài tập Tạo form thực hiện chọn font và size từ Combo box: Thực hiện: 15 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 39 Bài tập Tạo form thực hiện vẽ các hình ảnh được chọn từ Combo box: Thực hiện: 15 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 40 Check Box  Cho phép chọn một số tùy chọn  Các lựa chọn không loại trừ lẫn nhau  Thuộc tính  Checked  Text  Sự kiện  CheckedChanged Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 41 Bài tập Tạo form cho phép chọn kiểu chữ và kích thước chữ cho nội dung trong Label như sau: Thực hiện: 15 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 42 GroupBox  Dùng để chứa các đối tượng khác  Thuộc tính  Text Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 43 Panel  Dùng để chứa các đối tượng khác nhưng không có tiêu đề  Thuộc tính  BorderStyle None FixedSingle Fixed3D Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 44 Radio Button  Cho phép chọn một số tùy chọn  Các lựa chọn loại trừ lẫn nhau  Thuộc tính  Checked  Text  Sự kiện  CheckedChanged  Click Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 45 Bài tập In message Box dựa vào các tùy chọn như sau: Thực hiện: 15 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 46 Tab Control  Tạo ra các cửa sổ Tab Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 47 Tab Control  Tạo ra các cửa sổ Tab Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 48 Tab Control  Tạo ra các cửa sổ Tab  Thêm cửa sổ Tab  Add Tab  Xóa cửa sổ Tab  Remove Tab Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 49 Tạo ứng dụng sau: Bài tập Thực hiện: 15 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 50 Timer  Thuộc tính  Interval (ms)  Enabled  Phương thức  Start()  Stop()  Event  Tick Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 51 Bài tập Đặt chu kỳ 5 phút tự kết thúc chương trình Thực hiện: 5 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 52 Q&A