1. Trang chủ
  2. » Công Nghệ Thông Tin

LẬP TRÌNH TRÊN MÔI TRƯỜNG WINDOWS docx

10 233 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 75,55 KB

Nội dung

LẬP TRÌNH TRÊN MÔI TRƯỜNG WINDOWS *** XỬ LÝ CONTROL Phạm Minh Tuấn pmtuan@fit.hcmuns.edu.vn 03/23/10 Khoa CNTT - ĐH KHTN 2 Nội dung trình bày  Giới thiệu  Tạo Control  Delegate và Event 03/23/10 Khoa CNTT - ĐH KHTN 3 Giới thiệu  Có 3 loại Control  Extended Control  Ví dụ: một Button mới có background thay đổi khi di chuyển chuột đến nó  Composite Control  Ví dụ: một control cho phép nhập vào địa chỉ cá nhân gồm số nhà, tên đường, phường, quận, thành phố…  Custom Control  Ví dụ: một control thể hiện đồng hồ máy tính 03/23/10 Khoa CNTT - ĐH KHTN 4 Tạo Control  Tạo Extended Control  Kế thừa từ lớp đối tượng tương ứng  Bổ sung hoặc override các phương thức cần thiết  Tạo Custom Control  Kế thừa từ lớp Control  Người viết chịu trách nhiệm về hình dạng và cách ứng xử của control  Tạo Composite Control  Kế thừa từ lớp UserControl  Xác định các control con của nó  Bổ sung hoặc override lại các phương thức cần thiết 03/23/10 Khoa CNTT - ĐH KHTN 5 Tạo Control  Tạo Extended Control class MyButton:System.Windows.Forms.Button { … public MyButton() { … this.MouseEnter += new EventHandler(MyButton_MouseEnter); this.MouseLeave += new EventHandler(MyButton_MouseLeave); } void MyButton_MouseLeave(object sender, EventArgs e) { Image image = Image.FromFile(normalImageFile); if (image != null) this.BackgroundImage = image; } void MyButton_MouseEnter(object sender, EventArgs e) { Image image = Image.FromFile(highlightImageFile); if (image != null) this.BackgroundImage = image; } } 03/23/10 Khoa CNTT - ĐH KHTN 6 Tạo Control  Tạo Custom Control class ClockControl:System.Windows.Forms.Control { … public ClockControl() { ………} void timer1_Tick(object sender, EventArgs e) { this.Invalidate(); } void ClockControl_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { string str = ""; str = DateTime.Now.Hour.ToString() +":" + DateTime.Now.Minute.ToString()+":" + DateTime.Now.Second.ToString(); e.Graphics.DrawString(str, this.Font, new SolidBrush(this.ForeColor), 0, 0); } } 03/23/10 Khoa CNTT - ĐH KHTN 7 Tạo Control  Tạo Composite Control  Thêm User Control vào project bằng cách chọn Project > Add > User Control. Đặt tên User Control đó (ví dụ: Diachi.cs)  Thêm các control (textbox và label) thể hiện số nhà, đường, phường, quận, thành phố như sau:  Dịch project (Ctrl + Shift + B) và chọn lại Form1.  Trong tab Components của toolbox sẽ có 1 control mới được thêm vào có tên là Diachi. Kéo Control đó vào form và xử lý như mọi control bình thường khác. 03/23/10 Khoa CNTT - ĐH KHTN 8 Tạo Control  Thêm các property cho control public string Sonha { get {return this.txtSonha.Text;} set {this.txtSonha.Text = value;} }  Thêm các sự kiện cho control  Sử dụng delegate và event 03/23/10 Khoa CNTT - ĐH KHTN 9 Delegate và Event  Delegate  Ngữ nghĩa tương tự con trỏ hàm  Khai báo  public delegate void AddressChangedHandler(string address);  Event  Khai báo  public event AddressChangedHandler AddressChanged;  “Phát” sự kiện if (AddressChanged != null) AddressChanged(str); 03/23/10 Khoa CNTT - ĐH KHTN 10 . LẬP TRÌNH TRÊN MÔI TRƯỜNG WINDOWS *** XỬ LÝ CONTROL Phạm Minh Tuấn pmtuan@fit.hcmuns.edu.vn 03/23/10 Khoa CNTT - ĐH KHTN 2 Nội dung trình bày  Giới thiệu  Tạo. ClockControl:System .Windows. Forms.Control { … public ClockControl() { ………} void timer1_Tick(object sender, EventArgs e) { this.Invalidate(); } void ClockControl_Paint(object sender, System .Windows. Forms.PaintEventArgs. cần thiết 03/23/10 Khoa CNTT - ĐH KHTN 5 Tạo Control  Tạo Extended Control class MyButton:System .Windows. Forms.Button { … public MyButton() { … this.MouseEnter += new EventHandler(MyButton_MouseEnter);

Ngày đăng: 08/08/2014, 18:22

TỪ KHÓA LIÊN QUAN