Xem mẫu

  1. ỦY BAN NHÂN DÂN TỈNH AN GIANG TRƢỜNG CAO ĐẲNG NGHỀ AN GIANG GIÁO TRÌNH MÔ ĐUN : Lập trình window 2 NGHỀ : LẬP TRÌNH MÁY TÍNH TRÌNH ĐỘ : CAO ĐẲNG (Ban hành theo Quyết định số: /QĐ-CĐN, ngày tháng năm 20 của Hiệu trưởng trường Cao đẳng nghề An Giang) An Giang, 2019 1
  2. TUYÊN BỐ BẢN QUYỀN Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể được phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo. Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cấm. LỜI GIỚI THIỆU “LẬP TRÌNH WINDOW 2” là mođul đƣợc bố trí sau môn học Lập trình window 1, với yêu cầu ngƣời học phải có kiến thức lập trình căn bản và kiến thức về ngôn ngữ lập trình C#. Với chƣơng trình môn học 90 giờ, cuốn giáo trình này cung cấp cho sinh viên cách thức lập trình theo mô hình Server/Client cũng nhƣ các kiến thức về lập trình nâng cao trong windows. Cuốn Giáo trình này bao gồm một số nội dung chính: Bài 1: Visual Studio .NET và các đối tƣợng Bài 2: Các hộp thoại Bài 3: Các hộp thoại tập tin Bài 4: Thực đơn Bài 5: Thanh trạng thái Bài 6: Một số tính năng khác Bài 7: Truy cập và xử lý cơ sở dữ liệu Bài 8: Lập báo cáo với CrystalReport Trong quá trình biên soạn, mặc dù bản thân đã cố gắng hoàn thiện giáo trình nhƣng không tránh khỏi những thiếu sót, hạn chế. Mong đƣợc đồng nghiệp và sinh viên đóng góp ý kiến để giáo trình ngày càng hoàn thiện hơn. An Giang, ngày tháng năm 20 Tham gia biên soạn Trần Thị Kim Ngọc 2
  3. MỤC LỤC ĐỀ MỤC TRANG 1. Lời giới thiệu 2 2. Mục lục 3 3. Giáo trình modun 5 4. Nội dung giáo trình Bài 1: Visual Studio. Net và các đối tƣợng 6 I/ Lập trình với Visual Studio .NET 6 II/ Thêm và điều chỉnh các điều khiển 9 III/ Tải các tập tin 11 IV/ Thay đổi kích thước các Form 13 V/ Sự thừa kế form 14 VI/ Các nhãn và hộp nhập văn bản, lớp nút nhấn 15 VII/ Các sự kiện bàn phím và chuột 16 VIII/ ListBox, ComboBox,Calender 21 IX/ Image,ImageList 25 X/ Toolbar, Tab, Tab page, Tooltip 25 XI/ ListView, TreeView 27 XII/ Bài tập 31 Bài 2: Các hộp thoại: 47 I/ Hộp thoại thông điệp 47 II/ Phương thức Form.Close 49 III/ Bài tập 49 Bài 3: Các hộp thoại tập tin 51 I/ Tập tin và đường dẫn 51 II/ Hộp thoại lưu tập tin 52 III/ Hộp thoại mở tập tin 53 IV/ Bài tập 53 Bài 4: Thực đơn 56 I/ Thực đơn chính 56 II/ Các sự kiện popup và chia sẻ 58 III/ Thực đơn ngữ cảnh 58 IV/ Bài tập 59 Bài 5: Thanh trạng thái 61 I/ Lớp StatusBar 61 II/ Các bảng (panel) thanh trạng thái 61 III/ Thanh trạng thái tự vẽ 62 IV/ Bài tập 63 Bài 6: Một số tính năng khác 64 I/ Các ứng dụng MDI 64 II/ Registry và tập tin .ini 65 III/ Kéo và thả 66 IV/ Kéo và kết dính 68 V/ Bài tập 72 Bài 7: Truy cập và xử lý cơ sở dữ liệu 74 3
  4. I/ Tổng quan về ADO.NET 74 II/ Các công cụ kết nối dữ liệu 75 III/ Hiển thị dữ liệu, lọc dữ liệu 78 IV/ Thao tác với dữ liệu 81 V/ Bài tập 82 Bài 8: Lập báo cáo với CrystalReport 89 I/ Giới thiệu công cụ Crystal Report 89 II/ Gắn kết dữ liệu vào báo cáo 90 III/ Xây dựng và triển khai báo cáo 90 IV/ Bài tập 95 Các thuật ngữ chuyên môn 97 Tài liệu tham khảo 97 4
  5. GIÁO TRÌNH MÔ ĐUN Tên mô đun: LẬP TRÌNH WINDOW 2 Mã mô đun: MĐ 29 I. Vị trí, tính chất, ý nghĩa và vai trò của mô đun: - Vị trí: Mô đun này thuộc nhóm môn chuyên ngành, được bố trí sau các môn: Lập trình Window 1. Môn học này yêu cầu người học phải có kiến thức lập trình căn bản và kiến thức về ngôn ngữ lập trình C#. - Tính chất: Là môn học chuyên ngành bắt buộc. Đây là mô đun chứa đựng kiến thức nền tảng về lập trình Windows Form, lập trình kết nối cơ sở dữ liệu. - Ý nghĩa và vai trò của mô đun: Mô đun này là nền tảng giúp người học xây dựng được một ứng dụng quản lý trên nền Windows Form. II. Mục tiêu mô đun: - Kiến thức: Trình bày được quy trình: Tạo các ứng dụng, tạo được các ứng dụng cơ sở dữ liệu trên nền Windows. Lập trình và sử dụng được các đối tượng của .NET. Tạo được ứng dụng cơ sở dữ liệu với các báo cáo bằng CrystalReport. Sử dụng được hệ thống registry và tập tin .ini để lưu trữ thông tin chương trình. Tạo ra các ứng dụng MDI. - Kỹ năng: Tạo các ứng dụng, tạo được các ứng dụng cơ sở dữ liệu trên nền Windows. Lập trình và sử dụng được các đối tượng của .NET. Tạo được ứng dụng cơ sở dữ liệu với các báo cáo bằng CrystalReport. Sử dụng được hệ thống registry và tập tin .ini để lưu trữ thông tin chương trình. Tạo ra các ứng dụng MDI. - Năng lực tự chủ và trách nhiệm: Hình thành kỹ năng làm việc cẩn thận, nghiêm túc. III. Nội dung mô đun: Thời gian (giờ) Thực hành, Số Tên các bài trong mô đun Tổng Lý thí nghiệm, Kiểm TT số thuyết thảo luận, tra bài tập 1 Bài 1: Visual Studio. Net và 24 8 16 1 các đối tượng 2 Bài 2: Các hộp thoại 4 1 3 0 3 Bài 3: Các hộp thoại tập tin 8 2 6 0 4 Bài 4: Thực đơn 4 2 2 0 5 Bài 5: Thanh trạng thái 4 1 3 0 6 Bài 6: Một số tính năng khác 4 2 2 0 7 Bài 7: Truy cập và xử lý cơ sở 28 10 18 1 dữ liệu 8 Bài 8: Lập báo cáo với 12 4 7 1 CrystalReport 9 Ôn tập 2 2 Cộng 90 30 57 3 5
  6. BÀI 1: VISUAL STUDIO .NET VÀ CÁC ĐỐI TƢỢNG Giới thiệu: Bài học này giúp chúng ta thiết kế giao diện với Visual Studio.Net, các thao tác cơ bản trên Form Application, kiến thức về sự thừa kế form và kỹ năng về việc sử dụng các đối tượng, việc lựa chọn các sự kiện sử dụng cho phù hợp. Mục tiêu: Sau khi học xong bài học, người học có khả năng : - Trình bày được cách tạo một Project dạng Form Application. - Trình bày được chức năng các cửa sổ của Visual Studio .Net IDE. - Thiết kế và thay đổi các thuộc tính của form. - Vận dụng các control cơ bản trong thiết kế. Nội dung chính: I/ LẬP TRÌNH VỚI VISUAL STUDIO.NET Visual Studio .NET Integrated Development Environment (IDE). Cung cấp cho chúng ta những giao diện chung cho việc phát triển nhiều loại dự án khác nhau trên nền tảng .NET .IDE cho phép khả năng thiết kế giao diện người dùng cho ứng dụng, viết mã lệnh, biên dịch, và kiểm lỗi cho ứng dụng. Visual Studio .NET cung cấp nhiều ngôn ngữ để phát triển ứng dụng trong bộ .NET của Microsoft như: Visual Basic, Visual C#, Visual C++…. Tạo một dự án trong Visual Studio .Net Chạy ứng dụng Visual Studio 2008 từ thực đơn Start \ Program \ Microsoft Visual Studio 2008 \ Microsoft Visual Studio 2008. Tạo mới ứng dụng bằng cách nhấn vào menu File \ New \ Project. Cửa sổ tạo mới Project xuất hiện. Hình 1.1: Cửa sổ New Project 6
  7. Trong cửa sổ New Project, Project Types hiển thị danh mục những kiểu project mà chúng ta có thể tạo trong VS. Chúng ta quan tâm tới hai loại project đó là Visual C# và Setup and Deployment. Trong khi Visual C# là kiểu dự án cho phép tạo ra ứng dụng bằng ngôn ngữ C#, thì Setup and Deployment là kiểu project để triển khai dự án đến người dùng cuối. Chọn Visual C# Windows tại Project Types. Ở cửa sổ Templates, một số mẫu ứng dụng có sẵn để giúp người phát triển nhanh chóng tạo ra ứng dụng phù hợp theo yêu cầu. Có các kiểu project template sau cần chú ý nhất: - Windows Application: được dùng để tạo những ứng dụng Windows. - Class Library: sử dụng để tạo ra những component sử dụng lại trong các dự án khác. - Windows Controls Library: tạo những công cụ cho môi trường ứng dụng Window. - Console Application: tạo ra ứng dụng console chạy từ dòng lệnh, giao diện ký tự. Chọn Windows Application Đặt tên cho dự án đầu tiên là HelloWindow tại Name Chọn thư mục lưu trữ dự án tại Location Click OK Màn hình dự án xuất hiện như sau: Hình 1.2: Màn hình Form 1 khi tạo Project Window Form đầu tiên Chúng ta quan tâm đến những cửa sổ sau: 7
  8. - Window Form: nơi sử dụng để thiết kế giao diện chương trình. - ToolBox: chứa đựng những controls được xây dựng sẵn. Có nhiều tab trong cửa sổ ToolBox liệt kê những control theo những loại khác nhau. - Solution Explorer: liệt kê tên dự án, những file thiết kế, mã nguồn, … của ứng dụng. - Properties Window: cửa sổ chứa đựng những thuộc tính của một control nào đó, ví dụ Form1 có các thuộc tính như Text, StartPosition, ShowinTaskBar… - Error List: nơi xuất hiện những lỗi của chương trình . Tiếp tục thực hiện ứng dụng…, tại Window Form, click chuột phải, một popup Menu xuất hiện, trong đó có mục View Code, mục này cho phép xuất hiện cửa sổ soạn thảo mã lệnh điều khiển chương trình . Hình 1.3: Màn hình cửa sổ chọn view code. Cửa sổ mã lệnh chương trình hiển thị như sau: Hình 1.4: Màn hình viết mã lệnh 8
  9. Tiếp tục thực hiện ứng dụng…, trở lại màn hình Window Form, double click vào Form1, và soạn thảo mã lệnh như sau vào hàm Form_Load() do chương trình khởi tạo. private void Form1 Load(object sender, EventArgs e) { MessageBox.Show(“Welcome to Window Form”); } Chọn menu Debug ->Start Debugging (hoặc nhấn F5) để chạy ứng dụng. Các thao tác trong Project: Thêm một Form mới vào Project: Tạo project Cách 1. Vào menu Project | Add New Item … Cách 2. Chọn công cụ Add New Item trên thanh Standard Khai báo - Categories: chọn Windows Forms - Templates: chọn Windows Form - Name: đặt tên Form Nhắp Add Thêm một Form có sẵn vào Project: Vào menu Project | Add Existing Item … Chọn Form Nhắp Add Xóa bỏ một Form đang có trong Project: Chọn Form cần gỡ bỏ (ở cửa sổ Solution Explorer) Vào menu Edit | Delete Lƣu Form Vào menu File | Save Form.cs Ctrl + S II/ THÊM VÀ ĐIỀU CHỈNH CÁC ĐIỂU KHIỂN 1/ Thêm các điều khiển Có 4 cách để thêm một điều khiển vào Form Designer: Di chuyển điều khiển từ Toolbox vào nơi chứa điều khiển trên Form Chọn 1 điều khiển trên Toolbox và vẽ điều khiển trên Form Chọn 1 điều khiển trên Toolbox và double-click trên Form Double-click điều khiển trên Toolbox. 9
  10. Hình 1.5: Màn hình giao diện thêm điều khiển vào Form Mỗi control sẽ được xác định bằng thuộc tính Name. Thuộc tính này dùng để xác định control khi lập trình Lưu ý: Cần đặt tên Name sao cho gợi nhớ Control Tiếp đầu ngữ Biểu tƣợng txt Textbox Ví dụ: txtHoTen, txtTuoi btn Button Ví dụ: btnOK, btnCancel lbl Label Ví dụ: lblThongBao 2/ Xóa điều khiển Chọn điều khiển cần xóa và bấm phím Delete 3/ Điều chỉnh điều khiển Thay đổi kích thước - Chọn điều khiển, và drag chuột 1 góc muốn thay đổi. - Thay đổi giá trị Size của Height or Width ở Property Grid. Sắp xếp vị trí các điều khiển - Dùng chuột và drag điều khiển đến vị trí muốn đặt trên Form. - Đặt thuộc tính Location của điều khiển ở Property Grid. - Sử dụng công cụ. Thay đối khoảng cách điều khiển với Layout Toolbar 10
  11. 4/ Các loại chứa điều khiển Các loại chứa điều khiển như panel, GroupBox. Và cách thêm các loại chứa điều khiển tương tự như thêm một điều khiển. GroupBox - Hiển thị một khung bao quanh một nhóm control - Có thể hiển thị một tiêu đề - Thuộc tính Text - Khi xóa một GroupBox thì các control chứa trong nó bị xóa theo - Lớp GroupBox kế thừa từ System.Windows.Forms.Control Panel - Chứa nhóm các control - Không có caption - Có thanh cuộn (scrollbar) - Xem nhiều control khi kích thước panel giới hạn GroupBox Mô tả Thuộc tính thường dùng Controls Danh sách control chứa trong GroupBox. Text Caption của GroupBox Panel Thuộc tính thường dùng 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 III/ TẢI CÁC TẬP TIN Dotnetbar giúp chúng ta tạo nên một giao diện người dùng bắt mắt, hiệu ứng đẹp, cùng nhưng control được thiết kế sao cho tính tiện dụng đạt cao nhất 11
  12. Hình 1.6: Màn hình giao diện DotNetBar Cách thêm DotNetBar vào c# Click phải lênh ToolBox chọn Choose item Hình 1.7: Giao diện chọn Choose ToolBox Items 12
  13. Click phải lệnh Project chọn Add Reference Hình 1.8: Giao diện Add Reference IV/ THAY ĐỔI KÍCH THƢỚC CÁC FORM Một Windows Form là một cửa sổ được xuất hiện trong một ứng dụng. Mỗi Windows Form là một lớp được kế thừa từ lớp Form nằm trong Namespace System.Windows.Forms Thuộc tính Windows Form Những thuộc tính chung của Windows Form được liệt kê theo bảng sau: Properties Mô tả Name Là thuộc tính để xác định tên của form, mặc định, thuộc tính Name của form đầu tiên trong ứng dụng là Form 1 BackColor Thuộc tính xác định màu nền của Form BackgroundImage Thuộc tính xác định hình nền của Form Font Thuộc tính xác định kiểu, kích thước, và loại font được hiển thị trên form và trong những controls trong form. Size Kích thước của form bao gồm Width và Height Start Position Thuộc tính xác định vị trí xuất hiện của Form trên màn hình máy tính người sử dụng, có các thuộc tính sau: Manual – Vị trí và kích thước của form phục vụ vào vị trí xuất hiện của nó CenterScreen-Xuất hiện ở chính giữa màn hình Windows DefaultLocation –form xuất hiện tại vị trí mặc định của Windows theo kích thước của Form. Windows DefaultBounds – Form được hiển thị tại vị trí mặc định của Windows và các chiều của chúng phục thuộc 13
  14. vào hệ điều hành Windows Center Parent-Form được mở như một cửa sổ con của một form khác và xuất hiện tại vị trí chính giữa so với form cha. Text Xác định tiêu đề của form tại Title Bar WindowState Xác định trạng thái xuất hiện của form: Normal, Maximized hay Minimized. Sự kiện trong Windows Form : Những sự kiện trong Windows Form được liệt kê như bảng sau: Events Mô tả Click Sự kiện này xảy ra khi người dùng click vào bất kỳ nơi nào trên Windows Form Closed Sự kiện này xảy ra khi một form được đóng lại Deactivate Sự kiện này xảy ra khi một form bị mất trạng thái sử dụng Load Sự kiện này xảy ra khi một form được tải trong bộ nhớ cho lần đầu tiên MouseMove Sự kiện này xuất hiện khi chuột được rê trên một form MouseDown Sự kiện xảy ra khi chuột được nhấn trên form MouseUp Sự kiện xảy ra khi chuột được thả trên form. Hàm thao tác với Windows Form Methods Mô tả Show() Được sử dụng để xuất hiện một form bằng cách set thuộc tính Visible của form đó là True Activate() Sử dụng để kích hoạt trạng thái sử dụng của Form và đưa trạng thái sử dụng về Form đó. Close() Dùng để đóng một Form SetDesktopLocation() Hàm này dùng để định vị trí của Form trên màn hình V/ SỰ THỪA KẾ FORM Một Windows Form là một cửa sổ được xuất hiện trong một ứng dụng. Mỗi Windows Form là một lớp được kế thừa từ lớp Form nằm trong Namespace System.Windows.Forms. Sơ đồ kế thừa System.Object System.MarshalByRefObject System.ComponentModel.Component System.Windows.Forms.Control System.Windows.Forms.ScrollableControl System.Windows.Forms.ContainerControl System.Windows.Forms.Form public class Form : ContainerControl { // Methods public void Activate(); 14
  15. public void AddOwnedForm(Form ownedForm); public void Close(); public void LayoutMdi(MdiLayout value); // Properties public bool ShowIcon { get; set; } public bool ShowInTaskbar { get; set; } public Size Size { get; set; } public FormStartPosition StartPosition { get; set; } // Events public event EventHandler Closed; public event CancelEventHandler Closing; public event EventHandler Deactivate; // Mics protected override void DefWndProc(ref Message m); protected override void WndProc(ref Message m); protected override void Dispose(bool disposing); … } VI/ CÁC NHÃN VÀ HỘP NHẬP VĂN BẢN, LỚP NÚT NHẤN 1/ Label Công dụng: Control được sử dụng để hiển thị chữ trên form và không cho phép người dùng thay đổi. Label được sử dụng để mô tả thông tin cho những control khác trên Form. Ví dụ: Dòng chữ xuất hiện bên trên TextBox đó là Label, có mục đích giải thích cho TextBox. Tạo Label: - Chọn công cụ - Rê chuột và vẽ Label trên form. Thuộc tính cơ bản: Thuộc tính Ý nghĩa AutoSize Điều chỉnh kích thước đối tượng cho vừa với chiều dài chuỗi ký tự Font Name Quy định font chữ cho văn bản Bold True:Đậm/False:bỏ đậm Italic True:Nghiêng/False:bỏ nghiêng Size Quy định cỡ chữ cho văn bản TextAlign Canh lề(Left/Center/Right) 2/ Textbox Công dụng: - Dùng trình bày văn bản và cho phép người dùng được thay đổi nội dung văn bản. 15
  16. - Công dụng chính là cho người dùng nhập văn bản. Mặc định giá trị lớn nhất mà TextBox nhận là 2048 ký tự. Ví dụ: Tạo TextBox: - Chọn công cụ - Rê chuột và vẽ TextBox trên form. Thuộc tính cơ bản: Thuộc tính Ý nghĩa Text Xác định giá trị hiển thị bên trong TextBox Multiline Cho phép TextBox hiển thị nhiều dòng chữ PassWordChar Thuộc tính này cho phép lấy một ký tự làm đại diện cho tất cả các ký tự khác được nhập vào từ người dùng 3/ Button Công dụng: - Dùng để thực thi lệnh. - Khi nhắp chuột lên button, chương trình nhận được tín hiệu Click và lệnh được thi hành. - Sự kiện click được sử dụng khi người dùng nhấn vào nó: private void button1_Click(object sender, EventArgs e) { this.button1.Text = this.Text; } Tạo Button: - Chọn công cụ - Rê chuột và vẽ Button trên form. Thuộc tính cơ bản: Thuộc tính Ý nghĩa Text Nhập nội dung vào Button 4/ CheckBox Công dụng:Cho phép người dùng chọn hoặc không chọn. Tạo CheckBox: - Chọn công cụ - Rê chuột và vẽ CheckBox trên form. Thuộc tính cơ bản: Thuộc tính Ý nghĩa Checked Không có dấu check(False)/Có dấu check(True) VII/ CÁC SỰ KIỆN BÀN PHÍM VÀ CHUỘT - Sự kiện là những phản ứng của đối tượng. Nói cách khác, sự kiện là những tín hiệu phát ra khi người dùng thao tác trên đối tượng. 16
  17. - Nhờ có các sự kiện từ bàn phím và chuột, người lập trình sẽ nhận được những tín hiệu và xử lý những tín hiệu đó để phản hồi lại cho người dùng, tạo nên sự nhịp nhàng cho chương trình. 1/ Sự kiện bàn phím Phát sinh khi một phím được nhấn hoặc thả Có 3 sự kiện: KeyPress KeyUp KeyDown KeyPress phát sinh kèm theo với mã ASCII của phím được nhấn KeyPress không cho biết trạng thái các phím bổ sung {Shift, Alt, Ctrl…} Sử dụng KeyUp & KeyDown để xác định trạng thái các phím bổ sung. Sự kiện với tham số kiểu KeyEventArgs KeyDown Phát sinh khi phím được nhấn KeyUp Phát sinh khi phím được thả Sự kiện với tham số kiểu KeyPressEventArgs KeyPress Khởi tạo khi phím được nhấn Thuộc tính của lớp KeyPressEventArgs KeyChar Chứa ký tự ASCII của phím được nhấn Handled Cho biết sự kiện KeyPress có được xử lý chưa Thuộc tính của lớp KeyEventArgs Alt, Control, Shift Trạng thái các phím bổ sung Handled Cho biết sự kiện đã xử lý KeyCode Trả về mã ký tự được định nghĩa trong Keys enumeration KeyData Chứa mã ký tự với thông tin phím bổ sung KeyValue Trả về số int, đây chính là mã Windows Virtual Key Code Modifier Trả về giá trị của phím bổ sung Ví dụ minh họa các sự kiện: KeyPress, KeyDown, KeyUp Khi user nhấn một phím Bắt sự kiện KeyPress: xuất ra phím được nhấn Bắt sự kiện KeyDown: xuất ra các tham số trong KeyEventArgs Khi user thả phím Xóa các thông tin mô tả phím được nhấn trong các label Cách thực hiện Tạo một form minh họa 17
  18. Thiết kế trên form có 2 Label: lblChar: hiển thị ký tự được nhấn trong KeyPress lblKeyInfo: hiển thị các thông tin của KeyEventArgs khi KeyDown Tạo KeyPress Event Handling cho form private void Form1_KeyPress(Object sender, KeyPressEventArgs e0 {//Hiển thị ký tự trên label lblChar.Text=”Key pressed:”+e.KeyChar; } Tạo KeyDown Event Handling cho form 18
  19. private void Form1_KeyDown(object sender, KeyEventArgs e) { lblKeyInfo.Text= “Alt:”+(“e.Alt?”Yes”:”No”)+’\n\+ “Shift:”+(“e.Shift?”Yes”:”No”)+’\n\+ “Ctrl:”+(“e.Control?”Yes”:”No”)+’\n\+ “KeyCode: “+e.KeyCode+’\n\’+ “KeyData:”+ e.KeyData+’\n’+ “KeyValue:”+e.KeyValue+’\n’; } 2/ Sự kiện chuột Mouse là thiết bị tương tác thông dụng trên GUI Một số các thao tác phát sinh từ mouse. Di chuyển Kích chuột Ứng dụng cần xử lý sự kiện chuột nào sẽ khai báo trình xử lý tương ứng. Lớp MouseEventArgs được sử dụng để chứa thông tin truyền vào cho trình xử lý sự kiện mouse. Mỗi trình xử lý sự kiện sẽ có tham số là đối tượng object và đối tượng MouseEventArgs (hoặc EventArgs) Sự kiện chuột với tham số kiểu EventArgs MouseEnter Xuất hiện khi con trỏ chuột đi vào vùng biên của control MouseLeave Xuất hiện khi con trỏ chuột rời khỏi biên của control Sự kiện chuột với tham số kiểu MouseEventArgs MouseDown/ Xuất hiện khi button được nhấn/thả và con trỏ MouseUp chuột đang ở trong vùng biên của control MouseMove Xuất hiện khi chuột di chuyển và con trỏ chuột ở trong vùng biên của control Button Button được nhấn {Left, Right, Middle, none} có kiểu là MouseButtons Clicks Số lần button được nhấn X Tọa độ x của con trỏ chuột trong control Y Tọa độ y của con trỏ chuột trong control Ví dụ minh họa kích chuột trái tại một điểm A, giữ chuột trái và di chuyển chuột, chương trình sẽ vẽ đường thẳng từ điểm A đến vị trí hiện tại chuột. Các sự kiện cần xử lý MouseDown: Xác định điểm A ban đầu MouseMove Kiểm tra nếu Left button của chuột đang giữ 19
  20. Sử dụng Graphics để vẽ đường thẳng từ A đến vị trí hiện tại Cách thực hiện: Tạo biến lưu trữ điểm A khi user kích chuột trái Biến pA có kiểu Point là biến thành viên của Form1 public partial class Form1:Form { private Point Pa; public Form1() { InitializeComponent(); } } Khai báo xử lý sự kiện MouseDown trong Form1 Trong cửa sổ event của Form1, kích đúp vào sự kiện MouseDown private void Form1_MouseDown(object sender, MouseEventArgs e) { //lưu lại điểm thứ 1 pA=e.Location; } Cài đặt xử lý sự kiện MouseMove Kiểm tra nếu LeftButton được nhấn Vẽ đường thẳng từ pA đến vị trí hiện tại private void Form1_MouseMove(object sender, MouseEventArgs e) { if(e.Button==MouseButtons.Left)//LeftButton được nhấn { Graphics g=this.CreateGraphics(); //lấy thiết bị đồ họa Pen pen=new Pen(Color.Red,2f); //tạo bút vẽ 20
nguon tai.lieu . vn