Bài giảng Tích hợp hệ thống - Chương 6: Sử dụng Winform - Phan Trọng Tiến

ppt 35 trang huongle 4480
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tích hợp hệ thống - Chương 6: Sử dụng Winform - Phan Trọng Tiến", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptbai_giang_tich_hop_he_thong_chuong_6_su_dung_winform_phan_tr.ppt

Nội dung text: Bài giảng Tích hợp hệ thống - Chương 6: Sử dụng Winform - Phan Trọng Tiến

  1. Chương 6: Sử dụng Winform Phan Trọng Tiến Department of Software Engineering Hanoi University of Agriculture Office location: 3rd floor, Administrative building Office phone: 8276346, Ext: 132 Email:phantien84@gmail.com Ch6 - Sử dụng Winform 1
  2. Nội dung chính 1. Tổng quan 2. Tại sao sử dụng Windows Forms 3. Cấu trúc Windows Forms 4. Sử dụng Windows Forms 5. Demo: Thực hiện Windows Forms 6. Sử dụng các Control 7. Demo: Thực thi chức năng kéo và thả 8. Thừa kế của Windows Forms 9. Demo: Sử dụng thừu kế Windows Forms Ch6 - Sử dụng Winform 2
  3. Mục đích của chương ◼ Chương này cung cấp sinh viên kiến thức cần thiết để tạo các ứng dụng Winform. ◼ Sau bài này sinh viên có thể: Mô tả các lợi ích của Windows Forms Sử dụng các thuộc tính mới và các phương thức của Windows Forms Viết code cho các sự kiện điều khiển Sử dụng các control mới và các control cải tiến Thêm và chỉnh sửa menu Tạo một form được thừa kế từ form khác Ch6 - Sử dụng Winform 3
  4. 1. Tổng quan ◼ Bạn sẽ nắm được các đặc điểm có sẵn trong Windows Forms, cách thay đổi các form và control, và các thuộc tính, các phương thức, các sự kiện. ◼ Bạn sẽ học cách tạo một vài dạng hộp thoại chuẩn của Windows. ◼ Nắm được tính thừa kế, cho phép bạn sử dụng kỹ thuật lập trình hướng đối tượng vào các form của bạn. Ch6 - Sử dụng Winform 4
  5. 2. Tại sao sử dụng Windows Forms ◼ Có tập hợp các ◼ Hỗ trợ khả năng cotrol phong phú truy cập qua các ◼ Nhiều kiểu giao thuộc tính của diện control ◼ Hỗ trợ cải tiến việc ◼ Hỗ trợ thừa kế in ấn ◼ Các đối tượng có ◼ Hỗ trợ cải tiến về thể cải tiến đồ họa – GDI+ ◼ Thuận lợi cho thiết kế forms Ch6 - Sử dụng Winform 5
  6. 3. Cấu trúc của Windows Forms ◼ Phân cấp các lớp của Windows Forms ◼ Sử dụng lớp Windows.Forms.Appication ◼ Nghiên cứu Code Behind của Windows Forms Ch6 - Sử dụng Winform 6
  7. Phân cấp các lớp của Windows Forms Ch6 - Sử dụng Winform 7
  8. Sử dụng lớp Windows.Forms.Application ◼ Bắt đầu và kết thúc ứng dụng Sub Main( ) Dim frmFirst as New Form1( ) frmFirst.Show( ) ‘Hiển thị form đầu tiên Application.Run( ) ‘Cho phép ứng dụng tiếp tục sau khi form đóng End Sub ◼ Dùng phương thức DoEvents ◼ Thiết lập thông tin và truy vấn thông tin ứng dụng Dim strAppPath As String strAppPath = Application.StartupPath ‘lấy đường dẫn chứa nơi cài file chạy Ch6 - Sử dụng Winform 8
  9. Nghiên cứu Code Behind của Windows Forms ◼ Imports Truy cập các chức năng trong namespace tham chiếu trong assemblies Imports Winforms = System.Windows.Forms ◼ Class Thừ kế từ System.Windows.Forms.Form Contructor – Sub New() Initializer – Sub InitializeComponent() Detructor – Sub Dispose() Ch6 - Sử dụng Winform 9
  10. 4. Sử dụng Windows Forms ◼ Sử dụng Form Properties ◼ Sử dụng Form Methods ◼ Sử dụng Form Events ◼ Điều khiển sự kiện ◼ Tạo Form MDI ◼ Sử dụng các dạng hộp thoại chuẩn Ch6 - Sử dụng Winform 10
  11. Sử dụng Form Properties ◼ Kích trên Form hoặc Control sẽ có hộp thoại Form Properties tương ứng Ch6 - Sử dụng Winform 11
  12. Sử dụng Form Properties ◼ DialogResult ◼ Font ◼ Opacity ◼ MaximumSize và MinimumSize ◼ TopMost ◼ AcceptButton và CancelButton Ch6 - Sử dụng Winform 12
  13. Sử dụng Form Methods ◼ CenterToScreen và CenterToParrent ◼ Close ◼ Show và ShowDialog Ch6 - Sử dụng Winform 13
  14. Sử dụng Form Events ◼ Activated và DeActivate Activated là xảy ra khi Form được kích hoạt hoặc ng dùng tương tác DeActive là xảy ra khi Form mất focus. ◼ FormClosing Xảy ra khi Form đang chuẩn bị đóng. ◼ FormClosed Xảy ra sau sự kiện Closing và trước Dispose ◼ MenuStart và MenuComplete Xảy ra khi menu nhận và mất focus. Ch6 - Sử dụng Winform 14
  15. Điều khiển sự kiện ◼ Điều khiển nhiều sự kiện với một thủ tục Private Sub AddOrEditButtonClick(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles btnAdd.Click, btnEdit.Click ◼ Sử dụng AddHandler Là từ khóa dùng để add các sự kiện cho Form hoặc cho Control. Private Sub NavigateBtnClick(ByVal sender As System.Object, ByVal e As System.EventArgs) MessageBox.Show("Moving record") End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load AddHandler btnNext.Click, AddressOf NavigateBtnClick End Sub Ch6 - Sử dụng Winform 15
  16. Demo dùng sự kiện ◼ Tạo một ứng dụng dạng Winform hiển thị các thông tin trong của sổ ◼ Code cho các sự kiện Form1_Activated Debug.WriteLine("Activated") Form1_Closed Debug.WriteLine("Closing") Form1_Deactivate Debug.WriteLine("Deactivated") Form1_SizeChanged Debug.WriteLine("Size changed") Ch6 - Sử dụng Winform 16
  17. Tao Form MDI ◼ Tạo Form cha Bạn có thể đặt thuộc tính IsMdiContainer Hoặc code ở sự kiện Form_Load Me.IsMdiContainer = True Me.WindowState = FormWindowState.Maximized ◼ Tạo các Form con Dim doc As Form2 = New Form2( ) doc.MdiParent = Me doc.Show( ) ◼ Truy cập các Form con ◼ Sắp xếp các Form con Ch6 - Sử dụng Winform 17
  18. Sử dụng các dạng hộp thoại chuẩn ◼ MsgBox If MsgBox("Continue?", MsgBoxStyle.YesNo + MsgBoxStyle.Question,"Question")_ = MsgBoxResult.Yes Then End If ◼ Lớp MessageBox If MessageBox.Show("Continue?", "Question", _ MessageBoxButtons.YesNo, MessageBoxIcon.Question) _ = DialogResult.Yes Then End If ◼ InputBox Ch6 - Sử dụng Winform 18
  19. 5. Demo: Thực hiện Windows Forms ◼ Bạn sẽ học cách dùng Properties và Methods của Window Form, bao gồm tạo cả form riêng, độ trong suốt của form, và thanh cuộn tự động cho form. Ch6 - Sử dụng Winform 19
  20. 6. Sử dụng các control ◼ Các control mới ◼ Sử dụng Properties của Control ◼ Sử dụng Methods của Control ◼ Tạo Menus ◼ Cung cấp Help cho người sử dụng ◼ Thực hiện chức năng Kéo – Thả Ch6 - Sử dụng Winform 20
  21. Các control mới ◼ CheckedListBox ◼ LinkLabel ◼ Spliter ◼ ToolTip ◼ NotifyIcon Ch6 - Sử dụng Winform 21
  22. Sử dụng Properties của Control ◼ Đặt vị trí Control Anchor Location ◼ Thuộc tính Text Button1.Text = "Click Me" Ch6 - Sử dụng Winform 22
  23. Sử dụng Methods của Control ◼ BringToFront và SendToBack Button1.BringToFront( ) Button2.SendToBack( ) ◼ Focus TextBox1.Focus( ) TextBox1.SelectAll( ) Ch6 - Sử dụng Winform 23
  24. Tạo Menus ◼ Các lớp Menu ◼ Tạo Menu lúc thiết kế Sử dụng Menu Designer ◼ Tạo Menu lúc chạy Dim mnuMain As New MainMenu( ) Dim mnuItem1 As New MenuItem, mnuItem2 As New MenuItem( ) mnuItem1.Text = "File" mnuMain.MenuItems.Add(mnuItem1) mnuItem2.Text = "Exit" mnuMain.MenuItems(0).MenuItems.Add(mnuItem2) AddHandler mnuItem2.Click, AddressOf NewExitHandler Menu = mnuMain Ch6 - Sử dụng Winform 24
  25. Cung cấp Help cho người sử dụng ◼ Control ErrorProvider Icon lỗi sẽ xuất hiện ở control kế tiếp, và message xuất hiện giống như ToolTip khi chuột di chuyển qua Icon. Được sử dụng kiểm tra dữ liệu đầu vào. ◼ Control HelpProvider Gắn các file trợ giúp dạng *.chm, *.hlp, *.html Control cung cấp thông tin trợ giúp qua thuộc tính HelpStringCh6 - Sử dụng Winformhoặc HelpTopic 25
  26. Demo: Sử dụng Controls ◼ Bin sẽ học cách bố trí các thuộc tính của control Button. ◼ Thực thi các sự kiện cho control. ◼ Cuối cùng, cung cấp các trợ giúp người sử dụng qua control HelpProvider và ToolTip và cách lập trình tạo context menu. Ch6 - Sử dụng Winform 26
  27. Thực thi chức năng Kéo – Thả ◼ Sử lý đầu tiên Dùng phương thức DoDragDrop trong sự kiện MouseDown của control kéo. ◼ Thay đổi Icon kéo Thiết lập thuộc tính AllowDrop thành True Thiết lập thuộc tính Effect của DragEventsArg trong sự kiện DragOver của control thả. ◼ Thả dữ liệu Dùng phương thức Data.GetData để truy cập Data Ch6 - Sử dụng Winform 27
  28. Demo: Thực thi chức năng Kéo – Thả ◼ Thực thi chức năng kéo thả qua một ví dụ đơn giản. Ch6 - Sử dụng Winform 28
  29. 8. Thừa kế của Windows Forms ◼ Tại sao thừa kế từ một Form ◼ Tạo một Form cơ sở (Form Base) ◼ Tạo một Form được thừa kế ◼ Thay đổi Form Base Ch6 - Sử dụng Winform 29
  30. Tại sao thừa kế từ một Form ◼ Một Form là một class, vì vậy nó có thể dùng thừa kế ◼ Các ứng dụng sẽ có một giao diện và cách cư sử chuẩn. ◼ Các thay đổi ở form cơ sở sẽ tác động tới các form. ◼ Các ví dụ: Các form Wizard Các form Logon Ch6 - Sử dụng Winform 30
  31. Tạo một Form cơ sở (Form Base) ◼ Lên kế hoạch Form Base một cách cẩn thận ◼ Tạo form Base như form thông thường ◼ Thiết lập các thuộc tính truy cập cho các control Private – Control chỉ truy cập trong form Base Protected – control chỉ được truy cập trong các form kế thừa Public – Control được truy câp trong bất kỳ module. ◼ Thêm từ khóa Overridable tới các Method một cách thích hợp ◼ Build Solution choCh6 - Sửform dụng Winform Base 31
  32. Tạo form được thừa kế ◼ Đảm bảo form base đã được hoàn thành ◼ Tham chiếu tới Assembly ◼ Tạo form mới được thừa kế ◼ Thay đổi thuộc tính khi cần thiết ◼ Viết chồng các Method hoặc Event khi có yêu cầu Ch6 - Sử dụng Winform 32
  33. Thay đổi Form Base ◼ Thay đổi Form Base Các thay đổi sẽ tác động tới các form kế thừa khi Rebuilt ◼ Kiểm tra các form được kế thừa Kiểm tra các thay đổi trước khi rebuilt lại ứng dụng Kiểm tra lại sau khi rebuilt lại ứng dụng Ch6 - Sử dụng Winform 33
  34. 9. Demo: Sử dụng thừa kế Windows Forms ◼ Tạo một lớp Base phục vụ cho mục đích thừa kế ◼ Viết chồng các Propety, Method của các control form base ◼ Thay đổi form base sau khi nó đã được thừa kế. Ch6 - Sử dụng Winform 34
  35. Tổng kết ◼ Các lợi ích Windows Forms? ◼ Lớp ContainerControl là lớp cơ sở cho các control khác đúng hay sai? ◼ Viết code để truy cập tới đường dẫn file chạy ứng dụng ◼ Viết code để gọi btnOK khi người sử dụng ấn phím Enter. ◼ Liệt kê các control cung cấp trợ giúp cho người sử dụng ◼ Viết code để tạo một menu Help với một menu con About lúc chạy chương trình Ch6 - Sử dụng Winform 35