intTypePromotion=1
ADSENSE

Bài giảng Lập trình Windows nâng cao: Thiết kế các controls dùng công nghệ COM - Bùi Công Danh

Chia sẻ: Hấp Hấp | Ngày: | Loại File: PDF | Số trang:28

85
lượt xem
8
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng "Lập trình Windows nâng cao: Thiết kế các controls dùng công nghệ COM" giới thiệu tới người đọc các kiến thức về công nghệ COM là gì, vì sao nên sử dụng COM trong lập trình ứng dụng. Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình Windows nâng cao: Thiết kế các controls dùng công nghệ COM - Bùi Công Danh

  1. Thiết kế các Controls dùng công nghệ COM 1. Công nghệ COM (Component Object Model) là gì? 2. Vì sao nên sử dụng COM trong lập trình ứng dụng? 29/08/2016 Lập trình windows nâng cao 1
  2. Ưu điểm Công nghệ COM Giảm độ phức tạp của toàn bộ phần mềm. Cho phép phát triển các module phân tán giữa nhiều nhóm, phòng ban… Tăng khả năng bảo trì phần mềm. 29/08/2016 Lập trình windows nâng cao 2
  3. KHÁI NIỆM COM là công nghệ của Microsoft, nó tạo nên các thành phần giao tiếp với nhau trong ứng dụng phần mềm. COM tạo ra những thành phần có thể tái sử dụng, và liên kết các thành phần với nhau để tạo nên ứng dụng. 29/08/2016 Lập trình windows nâng cao 3
  4. THÀNH PHẦN CỦA COM Ứng dụng đơn tầng (Single-tier applications) cung cấp khả năng tái sử dụng bởi components. Components là các đoạn mã tái sử dụng đảm nhiệm chức năng của ứng dụng. Components được phát triển sử dụng Component Object Model (COM). 29/08/2016 Lập trình windows nâng cao 4
  5. Components Khái niệm: Component là một thành phần khả thi nhị phân xây dựng từ công cụ .NET, được tái sử dụng trong các ứng dụng khác. Một thành phần .NET là một assembly với phần mở rộng .DLL, gồm một hay nhiều lớp được biên dịch. 29/08/2016 Lập trình windows nâng cao 5
  6. Components Phân loại: Có 2 loại Thành phần xây dựng sẵn của .NET Thành phần do người dùng định nghĩa. 29/08/2016 Lập trình windows nâng cao 6
  7. Thành phần xây dựng sẵn  .NET Framework cung cấp nhiều components xây dựng sẵn Ví dụ: các thành phần hiển thị cửa sổ trợ giúp (HelpProvider thông báo lỗi (ErrorProvider), hộp thoại chuẩn (ColorDialog, FontDialog…), ngoài ra còn các thành phần không có biểu diễn trực quan, và chỉ biểu diễn một tính năng nào đó như: Timer,… 29/08/2016 Lập trình windows nâng cao 7
  8. Thành phần xây dựng sẵn Tham chiếu đến thành phần xây dựng sẵn: Thành phần không nhìn thấy trên thanh công cụ: sử dụng hộp thoại Project/ Add reference …. Thành phần nhìn thấy trên thanh công cụ:kích phải trên tab trên Toolbox, chọn Choose Items, danh sách các thành phần hiển thị ở Tab COM Components hay .NET Framework Components…. 29/08/2016 Lập trình windows nâng cao 8
  9. Thành phần xây dựng sẵn Ví dụ thành phần xây dựng sẵn: 1. Kích phải trên tab trên Toolbox, chọn Choose Items 2. Chọn điểu khiển Browse Button ở tab COM Components 3. Kích nút OK, biểu tượng Browse Button sẽ xuất hiện trên Toolbox. 4. Kéo rê điều khiển Browse Button vào Winform, sẽ có 2 assemblies .NET tự động tạo và thêm vào ứng dụng, xem ở mục References trong cửa sổ Solution Explorer 29/08/2016 Lập trình windows nâng cao 9
  10. Thành phần người dùng định nghĩa .NET Framework cung cấp 3 kiểu thành phần người dùng định nghĩa: 1. Controls thừa kế từ Control đã có 2. Custom controls: Có 2 loại a. Không có giao diện b. Có giao diện 29/08/2016 Lập trình windows nâng cao 10
  11. 1. Controls thừa kế từ control đã có 1. File/ New Project, ClassLibrary 2. Viết mã kế thừa lớp điều khiển đã có: 3. Ví dụ: public class CustomControl1 : System.Windows.Forms.TextBox 4. Viết mã bổ sung hàm, sự kiện, thuộc tính cho lớp 5. Biên dịch để tạo file DLL trong thư mục \bin\Debug 29/08/2016 Lập trình windows nâng cao 11
  12. Tạo Control NumericTextBox chỉ chấp nhận nhập giá trị số 1. File/New Project, Windows Forms Control Library 2. Kích phải trên dự án, chọn Add/ User Control 3. Thay mã thừa kế: public partial class NumericTextBox : TextBox 4. Thêm mã sau: 29/08/2016 Lập trình windows nâng cao 12
  13. Tạo Control NumericTextBox chỉ chấp nhận nhập giá trị số public partial class NumericTextBox : TextBox { public NumericTextBox() { InitializeComponent(); } private void NumericTextBox_KeyPress(object sender, KeyPressEventArgs e) { if (!char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar)) { e.Handled = true; } } } 29/08/2016 Lập trình windows nâng cao 13
  14. Tạo ứng dụng sử dụng control 1. File/ New Project, Windows Forms Application 2. Kích phải trên All Windows Forms trong Toolbox, chọn Choose Items, ở tab .NET Framework Components, chọn Browse để duyệt đến file NumericTextBox.dll, OK 3. Tạo form, đặt điều khiển NumericTextBox vào form 4. Chạy ứng dụng 29/08/2016 Lập trình windows nâng cao 14
  15. Bài tập Controls thừa kế từ control đã có 1. Tạo control Upper TextBox chỉ hiển thị chữ hoa. 2. Tạo control DataGridView có dòng chẵn 1 màu dòng lẻ 1 màu. 29/08/2016 Lập trình windows nâng cao 15
  16. 2. Custom controls Custom controls có 2 loại: Có giao diện Không có giao diện 29/08/2016 Lập trình windows nâng cao 16
  17. Tạo Custom Control 1. File/ New Project, Class Library (Không có giao diện) 2. Kích phải trên Project, chọn Add/ Class: public class TenClass 3. Viết mã thuộc tính, phương thức... 4. Biên dịch ứng dụng để tạo file DLL trong thư mục \bin\Debug 29/08/2016 Lập trình windows nâng cao 17
  18. Tạo Custom Control không giao diện File/ New Project, Class Library, tạo Project NT_Validator chứa lớp NTValidator.cs public class NTValidator { public int Number { get; set; } public NTValidator(int pNumber) { this. Number = pNumber; } public bool Validate() { // Kiem tra NT } } 29/08/2016 Lập trình windows nâng cao 18
  19. Sử dụng custom controls không giao diện 1. File/ New/ Project, chọn Windows Forms Application 2. Để thêm một tham chiếu đến lớp HopDen, kích phải trên mục Reference trong cửa sổ Solution Explorer, chọn mục Add Reference, chọn Browse để duyệt đến lớp thư viện HopDen.dll 3. Tạo một sự kiện thực thi lệnh sau: 29/08/2016 Lập trình windows nâng cao 19
  20. Sử dụng custom controls không giao diện NTValidator Validator = new NTValidator(12); if (Validator.Validate()) this.lblThongBao.Text = “Nguyen to"; else { this.lblThongBao.Text = " Khong Nguyen to"; } 29/08/2016 Lập trình windows nâng cao 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2