LẬP TRÌNH TRÊN môi TRƯỜNG WINDOWS xử lý CONTROL

10 280 0
LẬP TRÌNH TRÊN  môi TRƯỜNG WINDOWS   xử lý CONTROL

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

Thông tin tài liệu

LẬP TRÌNH TRÊN MÔI TRƯỜNG WINDOWS *** XỬ LÝ CONTROL Nội dung trình bày  Giới thiệu  Tạo Control  Delegate Event Khoa CNTT - ĐH KHTN 12/30/15 Giới thiệu  Có loại Control    Extended Control  Ví dụ: Button có background thay đổi di chuyển chuột đến Composite Control  Ví dụ: control cho phép nhập vào địa cá nhân gồm số nhà, tên đường, phường, quận, thành phố… Custom Control  Ví dụ: control thể đồng hồ máy tính Khoa CNTT - ĐH KHTN 12/30/15 Tạo Control  Tạo Extended Control    Tạo Custom Control    Kế thừa từ lớp đối tượng tương ứng Bổ sung override phương thức cần thiết Kế thừa từ lớp Control Người viết chịu trách nhiệm hình dạng cách ứng xử control Tạo Composite Control    Kế thừa từ lớp UserControl Xác định control Bổ sung override lại phương thức cần thiết Khoa CNTT - ĐH KHTN 12/30/15 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; } } Khoa CNTT - ĐH KHTN 12/30/15 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); } } Khoa CNTT - ĐH KHTN 12/30/15 Tạo Control  Tạo Composite Control  Thêm User Control vào project cách chọn Project > Add > User Control Đặt tên User Control (ví dụ: Diachi.cs)  Thêm control (textbox label) thể số nhà, đường, phường, quận, thành phố sau:   Dịch project (Ctrl + Shift + B) chọn lại Form1 Trong tab Components toolbox có control thêm vào có tên Diachi Kéo Control vào form xử lý control bình thường khác Khoa CNTT - ĐH KHTN 12/30/15 Tạo Control  Thêm property cho control public string Sonha { get {return this.txtSonha.Text;} set {this.txtSonha.Text = value;} }  Thêm kiện cho control  Sử dụng delegate event Khoa CNTT - ĐH KHTN 12/30/15 Delegate Event  Delegate    Ngữ nghĩa tương tự trỏ hàm Khai báo  public delegate void AddressChangedHandler(string address); Event   Khai báo  public event AddressChangedHandler AddressChanged; “Phát” kiện if (AddressChanged != null) AddressChanged(str); Khoa CNTT - ĐH KHTN 12/30/15 Khoa CNTT - ĐH KHTN 12/30/15 10 ... 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... tab Components toolbox có control thêm vào có tên Diachi Kéo Control vào form xử lý control bình thường khác Khoa CNTT - ĐH KHTN 12/30/15 Tạo Control  Thêm property cho control public string Sonha... ĐH KHTN 12/30/15 Tạo Control  Tạo Composite Control  Thêm User Control vào project cách chọn Project > Add > User Control Đặt tên User Control (ví dụ: Diachi.cs)  Thêm control (textbox label)

Ngày đăng: 29/12/2015, 22:25

Mục lục

  • LẬP TRÌNH TRÊN MÔI TRƯỜNG WINDOWS *** XỬ LÝ CONTROL

  • Nội dung trình bày

  • Giới thiệu

  • Tạo Control

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Delegate và Event

  • Slide 10

Tài liệu cùng người dùng

Tài liệu liên quan