Bài giảng Cơ sở Lập trình (Fundamental of Programming) - Chương 8: Lập trình với Windows Forms - Nguyễn Thị Khiêm Hòa

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

pdf52 trang | Chia sẻ: phuongt97 | Lượt xem: 469 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Cơ sở Lập trình (Fundamental of Programming) - Chương 8: Lập trình với Windows Forms - Nguyễn Thị Khiêm Hòa, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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 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 2 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 3 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 4 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 5 Thêm Form vào ứng dụng Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 6 Thuộc tính của Form  Name  Opacity  BackColor  Icon  BackGroundImage  Topmost  ForeColor  MaximizeBox  Text  MinimizeBox  Font  ControlBox  AcceptButton  StartPosition CenterScreen  CancelButton  WindowState Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 7 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 8 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 9 Đặ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 10 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 11 Cách tạo Main Menu Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 12 Bài tập Thực hiện: Tạo Form có menu như mẫu 20 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 13 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 14 Common Dialog Box  Dùng Toolbox hoặc viết lệnh 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(); } Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 15 Common Dialog Box  Thuộc tính DialogResult: OK, Cancel, Abort, Retry, Ignore, Yes, No (None) private void mnLoad_Click(object sender, EventArgs e) { if (dlg.ShowDialog() == DialogResult.OK) { } } Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 16 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 17 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): frmChild.MdiParent = this;  Đặt form làm cửa sổ con: this.IsMdiContainer = True;  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 18 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 19 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 20 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 21 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 22 Picture Box  Thuộc tính  Image  ImageLocation StretchImage Normal  SizeMode AutoSize CenterImage private void mnStretch_Click(object sender, EventArgs e) { pbxImage.SizeMode = PictureBoxSizeMode.StretchImage; } private void mnActualSize_Click(object sender, EventArgs e) { pbxImage.SizeMode = PictureBoxSizeMode.Normal; } Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 23 Bài tập Thực hiện: Thêm vào form menu View như hình sau: 15 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 24 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 25 TextBox  Thuộc tính  MultiLine  Text  PasswordChar  Font  ReadOnly  TextAlign  ScrollBar  TabIndex  AcceptReturn  Event  Click  TextChanged  KeyPress Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 26 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 27 Bài tập Thực hiện: Tạo Form, khi click vào nút View thì nội dung được gõ trong textbox sẽ hiển thị trong label 15 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 28 Bài tập Thực hiện:  Thiết kế và viết chương trình máy tính Calculator đơn giản 45 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 29 List Box  Thuộc tính  SelectedItem  Items  SelectedItems  MultiColumn  Sorted One  SelectedIndex  SelectionMode Multi  SelectedIndices  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()); } Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 30 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 31 Bài tập Thực hiện: Tạo form thực hiện việc thêm xóa các thành phần trong ListBox như sau: 15 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 32 Bài tập Thực hiện: Tạo form thực hiện việc di chuyển qua lại giữa hai ListBox như sau: 15 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 33 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 34 Bài tập Thực hiện: 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 15 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 35 Combo Box  Thuộc tính Simple  DropDownStyle DropDown DropDownList  Items  SelectedIndex  SelectedItem  Sorted Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 36 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 37 Bài tập Thực hiện: Tạo form thực hiện chọn font và size từ Combo box: 15 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 38 Bài tập Thực hiện: Tạo form thực hiện vẽ các hình ảnh được chọn từ Combo box: Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 15 min 39 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 40 Bài tập Thực hiện: 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: 15 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 41 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 42 Panel  Dùng để chứa các đối tượng khác nhưng không có tiêu đề None  Thuộc tính FixedSingle Fixed3D  BorderStyle Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 43 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 44 Bài tập Thực hiện: In message Box dựa vào các tùy chọn như sau: Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 15 min 45 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 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  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 48 Bài tập Thực hiện: Tạo ứng dụng sau: 15 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 49 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 50 Bài tập Thực hiện: Đặt chu kỳ 5 phút tự kết thúc chương trình 5 min Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 51 Q&A Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM 52

Các file đính kèm theo tài liệu này:

  • pdfbai_giang_co_so_lap_trinh_fundamental_of_programming_chuong.pdf