Xem mẫu

  1. Chương 5 .Giao diện người dùng đồ họa (Graphical User Interface) 5.1 Giới thiệu Outline  5.2 Windows Forms 5.3 Mô hình kiểm soát sự kiện (Event-Handling Model) 5.3.1. Mô hình kiểm soát sự kiện chung 5.3.2. Kiểm soát sự kiện chuột 5.3.3. Kiểm soát sự kiện bàn phím 5.4 Control Properties và Layout 5.5 Labels, TextBoxes và Buttons 5.6 GroupBoxes và Panels 5.7 CheckBoxes và RadioButtons 5.8 PictureBoxes 5.9 Menus 5.10 LinkLabels 5.11 ListBoxes và CheckedListBoxes 5.11.1 ListBoxes 5.11.2 CheckedListBoxes 5.12 ComboBoxes 5.13 TreeViews 5.14 ListViews 5.15 Tab Control 5.16 Multiple Document Interface (MDI) Windows 5.17 Thừa kế trực quan (Visual Inheritance) 5.18 Điều khiển do người sử dụng định nghĩa.
  2. 5.1 Giới thiệu  Giao diện người dùng đồ hoạ (Graphical user interface)  Cho phép tương tác với chương trình một cách trực quan  Cho chương trình một cái nhìn rõ ràng và sự thoải mái  Xây dựng theo sự cải tiến của window  Là một đối tượng, có thể tiếp cận qua chuột hoặc bàn phím
  3. Ví dụ về một giao diện người dùng: Nhãn Thanh Các nút cuốn Textbox
  4. Loại Mô tả Nhãn label Là một vùng trong đó một icon hoặc một văn bản tĩnh (uneditalbe text)được hiển thị Hộp nhập Là một vùng mà trong đó người sử dụng nhập dữ liệu từ bàn phím. Vùng này cũng có thể dùng để (Text box) hiển thị thông tin. Nút điều khiển Là một vùng mà khi click vào thì một sự kiện sẽ được thực thi (trigger) (button) Hộp kỉêm Là một giao diện người dùng mà chỉ có hai trạng thái chọn hoặc không chọn. (checkbox) hộp combo Là một danh sách kéo thả các mục mà từ đó người sử dụng có thể dùng để lựa chọn bằng cách click (combobox) vào một mục từ list đó hoặc bằng cách đánh vào hộp (nếu được). Listbox Là một vùng mà trong đó là một danh sách các mục được hiển thị mà từ đó người sử dụng có thể lựa (hộp danh sách). chọn bằng cách click vào một dòng bất kỳ. Đa lựa chọn cũng có thể được tiến hành. Panel Là một vùng mà có thể chứa trong đó các thành phần. Thanh cuộn Cho phép người sử dụng có thể tiếp cận vào một dãy các giá trị mà độ dài của nó không thể phù (scrollBar) hợp với kích thước của vùng chứa.
  5. 5.2 Windows Forms  WinForms  Tạo giao diện người dùng đồ hoạ cho chương trình  Các phần tử trên màn hình nền  Đặc trưng bởi:  Dialog ( Lớp )  Window (Cửa sổ)  MDI window (Cửa sổ giao diện đa văn bản)  Các thành phần  Lớp: là phần thực thi giao diện Icomponent  Thiếu các thành phần trực quan
  6. 5.2 Windows Forms  Điều khiển  Các thành phần cùng với phần giao diện  Như nút hoặc nhãn  Có thể quan sát được  Sự kiện  Được phát sinh bởi sự chuyển động của chuột và bàn phím.  Điều khiển các sự kiện để thực thi các hành động.  được xác định, viết bởi lập trình viên
  7. Các thành phần và điều khiển của window forms
  8. Form thuộc tính Mô tả/ Điển hình và Đối số sự kiện Và sự kiện AccepButton Nút mà bị click khi mà phím Enter được ấn AutoScroll Thanh cuộn sẽ tự động xuất hiện khi cần (nếu mà dữ liệu nhiều hơn kích thước). CancelButton Nút được kích hoạt khi mà phím Escape được ấn FormBorderStyle ­làm viền cho các nút ( vd : none, single, 3D, sizable) Font Font của text hiển thị trên form, cũng như mặc định của điều kiển được thêm vào form). Text Văn bản hỉên thị trên thanh tiêu đề (title bar) của form Common Methods Close Đóng form và giải phóng toàn bộ tài nguyên. Một form close không thể được mở lại. Hide Giấu một form (không giải phóng tài nguyên của nó). Show Hiển thị một form đã bị giấu. Common Evént Load Thi hành trước khi một form được xuất hiện. Sự kiện này là mặc định khi mà form được double_clicked trên visual studio. Net designer.
  9. 5.3 Mô hình kiểm soát sự kiện (Event-Handling Model)  GUIs là sự kiện được kiểm soát  Kiểm soát sự kiện  Các phương thức xử lý sự kiện và thực hiện nhiệm vụ.  Đại diện liên hợp  Các đối tượng mà được tham chiếu bởi phương thức  Chứa danh sách của method (cách thức) tham chiếu tới  Phải có cùng một “dấu hiệu, chữ ký”  Là trung gian của đối tượng và phương thức  “chữ ký” cho sự kiện điều khiển
  10. Gọi Kiểm soát 1 cho sự  kiện E  Gọi Đối tượng A sinh ra Đại diện cho sự  Kiểm soát 2 cho sự  sự kiện E kiện E kiện E  Kiểm soát 3 cho sự  kiện E  Hình 5.3 Mô hình kiểm soát sự kiện dùng hàm đại diện
  11. 5.3.1. Mô hình kiểm soát sự kiện chung  Điều khiển sự kiện  Phải có cùng signature để phù hợp với đại diện  Hai đối tượng quy chiếu phải hợp quy cách  ControlName_EventName  Phải đăng ký với đối tượng đại diện  Thêm một điều khiển sự kiện vào một danh sách của đại diện  Một đối tượng đại diện mới cho mỗi điều khiển sự kiện  Sự kiện đa khung (multicasting)  Có nhiều điều khiển cho một sự kiện  Thứ tự gọi cho điều khiến sự kiện là không xác định
  12. biểu tượng  sự kiện Danh sách  các sự kiện  cung cấp bởi  điều kiển lựa chọn  sự kiện. Mô tả sự  kiện. Phần sự kiện của cửa sổ property.
  13. 1 // Fig. 12.7: SimpleEventExample.cs 2 // Using Visual Studio .NET to create event handlers. 3 4 using System; 5 using System.Drawing; 6 using System.Collections; 7 using System.ComponentModel; 8 using System.Windows.Forms; 9 using System.Data; 10 11 // program that shows a simple event handler 12 public class MyForm : System.Windows.Forms.Form 13 { 14 private System.ComponentModel.Container components = null; 15 16 T// Visualểm soát sự ạo ki Studio .NET generated code 17 kiện Lớp EventArgs là lớp cơ 18 [STAThread] 19 static void Main() sở cho các đối tượng với thông tin sự kiện  20 { 21 Application.Run( new MyForm() ); 22 } 23 24 // Visual Studio .NET creates an empty handler, 25 // we write definition: show message box when form clicked 26 private void MyForm_Click( object sender, System.EventArgs e ) 27 { 28 MessageBox.Show( "Form was pressed" ); 29 } Quy chiếu tới đối 30 Quy chikýuctủa đốều khiển Chữ ế ới đi i tượng tượng có đối số 31 } // end class MyForm gâyự kisự kiện (sender) s ra ện sự kiện là e
  14. sau khi ấn nút ok  Các điều khiến sự kiện cơ bản.
  15. Danh sách  các sự  kiện. Tên lớp Hình 5.3 Danh sách các sự kiện Form. 
  16. Chi tiết của sự kiện click đối tượng đại diện. Tên sự kiện lớp đối sự kiện 
  17. 5.3.2. Kiểm soát sự kiện chuột  Lớp MouseEventArgs  Chứa hệ trục toạ độ của con trỏ chuột  chuột được ấn  Số lần nhấn chuột  Số lượng notch của bánh xe chuột trả lại  Di chuột  Phương thức sự kiện chuột lấy một đối tượng và nhận đối tượng MouseEventArgs là một đối  Sự kiện click sử dụng đại diện eventHandler và đối số sự kiện EventArgs
  18. Sự kiện,đại diện và đối Mô tả số sự kiện Sự kiện chuột (delegate eventHandler, event arguments EventArgs) Mouse Enter Thi hành khi mà con trỏ chuột được ấn vào vùng c ủa đi ều khi ển. MouseLeave Thi hành khi mà con trỏ chuột rời khỏi vùng c ủa đi ều khi ển. Sự kiện chuột MouseDown Thi hành nếu nút chuột được ấn trong lúc con trỏ chuột ở trên vùng đi ều khi ển . Mouse Hover Thi hành khi con trỏ chuột nằm trên vùng đi ều khi ển . MouseMove Thi hành khi mà con trỏ chuột được di chuyển trong lúc ở trên vùng đi ều khi ển . MouseUp Thi hành khi con trỏ chuột được thả trong khi nó nằm trên vùng đi ều khi ển . Thuộc tính lớp MouseEventArgs Button Nút chuột được nhấn(phải,trái,giữa,không). Clicks số lần mà nút chuột được nhấn X toạ độ X của sự kiện,có liên hệ với các thành phần (component) Y toạ độ Y của sự kiện, có liên hệ với các thành phần (component)
  19. 1 // Painter.cs 2 // Using the mouse to draw on a form. 3 4 using System; 5 using System.Drawing; 6 using System.Collections; 7 using System.ComponentModel; 8 using System.Windows.Forms; 9 using System.Data; 10 11 /// creates a form as a drawing surface Tạo một biến shouldPaint để  12 public class Painter : System.Windows.Forms.Form 13 { xác định xem có thể vẽ được  14 bool shouldPaint = false; // whether to paint hay không trên form. 15 16 /// The main entry point for the application. 17 [STAThread] 18 static void Main() 19 { 20 Application.Run( new Painter() ); 21 } 22 23 // should paint after mouse button has been pressed 24 private void Painter_MouseDown( Kiểm soát sự kiện 25 object sender, System.Windows.Forms.MouseEventArgs e ) MouseDown 26 { 27 shouldPaint = true; Con trỏ chuột được đặt là  shouldPaint 28 } true khi sự kiện xảy ra  sẽ vẽ 29 30 // stop painting when mouse button released 31 private void Painter_MouseUp( Kiểm soát sự kiện 32 object sender, System.Windows.Forms.MouseEventArgs e ) 33 { shouldPaint là false,trỏ MouseUp 34 shouldPaint = false; chuột sẽ không vẽ 35 }
  20. 36 37 // draw circle whenever mouse button 38 // moves (and mouse is down) 39 protected void Painter_MouseMove( 40 object sender, System.Windows.Forms.MouseEventArgs e ) 41 { Chương trình o đốiẽượng đồ Tạ chỉ v t nếu 42 if ( shouldPaint ) 43 { hoạ true shouldPaint là trên form 44 Graphics graphics = CreateGraphics(); Phương thức FillEllipse vẽ một vòng 45 graphics.FillEllipse( Cung cấp phươngở mỗi điểm mà con trỏ chuột đi tròn o đối tượng mới SolidBrush 46 Tạ new SolidBrush( Color.BlueViolet ẽ các hình ), thức để v 47 e.X, e.Y, 4, 4 ); bằ và cách truyền  là true qua ng shouldPaintkhởi tạo giá 48 } dạng khác nhau trị cùng Toạ độ của x và đColor chiều cao và rộng SolidBrush màu yịnh màu 49 c a ứ ể các xác Cấu trúc Colorủchđia m được cho vào danh sách tham 50 } // end Painter_MouseMove ần vẽ c 51 có sẵn số 52 } // end class Painter Painter.cs output
nguon tai.lieu . vn