Windows Applications
Các Control tu biến
(Custom control)
Custom controls là khía cạnh rất quan trọng của việc phát triển Windows
Forms. Các loại control này được gọi là ActiveX control hay UserControls
trong Visual Basic. Khái nim bản là đcho phép một nhà phát triển tạo
ra chức năng mới và/hoặc gộp c control đang tồn tại vào một control
chung, control này thdễ dàng sdụng lại bên kia ng dụng hay trong
các đa ứng dụng.
Custom controls cho phép các nhà phát triển gói chức năng và bản trình y
vào một gói lớp đơn thể sdụng lại dễ dàng suốt một ứng dụng. Giao
diện người dùng, các skiện, các thuộc tính các phương thức thể được
cài định hình bi nhà phát triển. Nhóm chức ng này thđứơc cn
vào dán nếu cần thiết một cách d dàng. cũng khả ng sử dụng lại
các custom control, toàn btviện control có thể được phát triển để s
dụng bởi các nhà phát trn trong một tổ chức.
Thêm vào đó, nếu một custom control rất hữu ích và thhiện chức ng thì
các nhà phát triển khác bên ngoài một t chức đơn sẽ rất muốn nó, và
hoàn toàn có thn control theo cách thương mi. Một nền ng nghiệp
toàn phn cung cấp các custom control cho các nhà phát triển ng dụng. Các
công ty y tập trung thời gian và tài nguyên của hvào việc phát triển một
chức năng của control một cách rộng rãi; thế luôn luôn rẽ n để mua
một trong số các control này thay vì tự tạo ra nó.
Tóm li, một custom control là mt lớp tuỳ biến mà liên kết chức năng logic
doanh nghip và/hoặc các đa control tubiến hiển thị logic trong một i
đơn. i này có thể được sdụng lại nhiều lần trong một Form, giống như
một Button chuẩn hay control Label. Một dcho vấn đề này trong một
ứng dụng doanh nghiệp là một TextBox.
Lớp UserControl
Mọi custom controls n thừa kế t lớp
System.Windows.Forms.UserControl. đặt plumbing thích hợp vào nơi
được yêu cu với các host Control, quản thanh cuộn, và cung cp một
bmặt thiết kế cho nhà phát triển. Lớp này hành động giống như lớp Form
bản trong đó cung cấp một sự thực thi cơ bản và các lớp thừa hưởng
tubiến cung cấp chức ng doanh nghiệp. Một control không cần đoạn mã
pluming này bi vì nhà phát triển sẽ viết tất cả cho hay skhông hiển
th một giao diện người dùng th đơn giản thừa kế trực tiếp từ
System.Windows.Control.
Trên thực tế, xây dựng một custom control thì rất giống với y dựng một
Form. Một UserControl chứa một vùng client trong đó các control Windows
Forms thđược vận dụng. Các bộ điều khiển skiện thể gắn vào các
control này để tương tác với người dùng. Skhác nhau control đó phải
luôn luôn nghĩ về cách các nhà phát triển khác sẽ sdụng custom control
này trong một ng dụng hosting. Custom control hành động như một cấp
đơn giản hoá cho các nhà phát trin tầng thứ ba, những người mà không cn
hiểu ch control làm việc. Control skhông tồn tại độc lập mà sluôn
luôn thực thi bên trong một ứng dụng hosting.
Các Control constituent
Các controls trang điểm cho giao diện người của một custom control
được gọi là constituent control. Các control y được sở hữu bởi đối tượng
UserControl. Chúng rất hữu ích cho việc xây dựng thể dùng lại các thành
phần giao diện ngừơi dùng mà thể được vn dụng định vị như một
nhóm. Ví dụ, giả sử mỗi cửa sổ trong một ứng dụng chứa cùng nhóm control
RadioButton. Để thay vào việc sao chép và dán các control này vào mi
Form, một s chọn lựa sẽ tạo một custom control mà chứa nhóm control
RadioButton chung y. Một nhà phát triển có thể thêm custom control y
vào bất k Form nào, định vị vào v trí thích hợp, và các control
constituent RadioButton trong User Control shiển thị và cập nhật chính
xác mà không có bất kỳ sự tương tác nào với cácng dụng hosting.
Tuy nhiên, các constituent control không th được truy cập t n ngoài đối
tượng User Control, khi chúng được khai báo là c biến private như mặc
định. Mặc dù một nhà phát triển có thể thay đổi bằng tay đặc tính y đểc
constituent control là public, tuy nhiên xem như một svi phạm. Phương
thức đúng của việc này là yêu cu thông tin để định nghĩa các thuộc tính, các
phương thức và các skiện là public trong lớp custom UserControl sắp
xếp các yêu cầu này vào các thuộc tính, phương thức, sự kiện khác nhau của
constituent control. cho phép User Control thchỉnh sửa bên trong
Visual Studio .NET IDE, cung cp một môi trường thiết kế phù hợp cho
nhà phát trin client.
Các Control mở rộng
Custom controls kng luôn luôn cn được tạo ra bởi liên kết các constituent
control. Mrộng và tuchỉnh chức ng của một control Window Forms
đơn có thể rất hữu ích bởi vì th n sự tuỳ biến n dưới một control
chuẩn cho người dùng. E-mail validation TextBox một dđiển hình.
Để thay cho việc viết lại một control TextBox tm các chức năng yêu
cầu. E-mail validation TextBox thđược sử dụng lại trong c ng dụng
như một sthay thế cho một TextBox chuẩn và ngui dùng skhông biết s
khác nhau. có ththực hiện trong .NET bằng cách sử dụng thừa kế và
thể là một cách hiệu quả để tạo một custom control.
Để mở rộng một control đang tồn tại thì skhai o cho một User Control
phải được thay đổi để thừa kế từ control đang tồn tại để thay cho
System.Windows.Forms.UserControl. Bởi vì sức mnh của việc thừa kế, bạn
có thể truy cập đến tất cả các thuộc tính, phương thức, sự kiện của lớp cơ sở.
Các Event exposing
Các skiện là khía cnh quan trọng khác của sphát triển control, và cung
cấp các sự kiện hữu ích choc nhà phát trin cho phép họ phản ứng lại các
hoạt động xảy ra bên trong custom control và phn ng lại trong các ng
dụng của họ.
Khi thiết kế các custom control, một vài tu chọn hiệu lực cho các
exposing events. Một hay nhiều s kiện của các constituent control nằm
trong chính User Control của có thể được phô ra. Nhắc lại, các
constituent control được khai báo private kng được truy cập bởi c