Các kiểu điều khiển Legacy ActiveX (Forms 2.0)
Các kiểu điều khiển ActiveX (Forms 2.0) kế thừa
Làm việc với các Đối tượng OLE và Nội dung Nhúng bao gồm cách tiếp cận một điều khiển ActiveX Microsoft Forms 2.0 được nhúng thông qua OleFormat.OleControl và ép kiểu nó sang lớp trừu tượng Forms2OleControl lớp cơ sở. Aspose.Words FOSS cho .NET cũng cung cấp năm lớp con được gõ mạnh cho các loại điều khiển cụ thể mà Word hỗ trợ – CheckBoxControl, OptionButtonControl, TextBoxControl, CommandButtonControl, và MorphDataControl – mỗi trong the Aspose.Words.Drawing.Ole namespace, thêm một thành viên đặc thù cho điều khiển lên trên các thuộc tính Forms2OleControl đã cung cấp (Caption, Value, Enabled, Type, GroupName, ForeColor, BackColor, Width, Height, Name, ChildNodes).
CheckBoxControl và OptionButtonControl
CheckBoxControl mở rộng MorphDataControl và thêm Checked (một bool) cho trạng thái bật/tắt của điều khiển. OptionButtonControl cũng mở rộng MorphDataControl và thêm Selected (một bool) – được dùng cho một tập hợp các nút tùy chọn loại trừ lẫn nhau có chung GroupName.
TextBoxControl
TextBoxControl mở rộng MorphDataControl và thêm Text (một string), văn bản hiển thị và có thể chỉnh sửa của điều khiển.
CommandButtonControl
CommandButtonControl mở rộng Forms2OleControl trực tiếp (không phải MorphDataControl) và có hàm khởi tạo riêng. Nó đại diện cho một nút chạy macro khi được nhấn trong Word, với nhãn nút được phơi bày qua thuộc tính Caption được kế thừa.
MorphDataControl: Cơ sở chung cho các điều khiển nhập liệu
MorphDataControl là một cơ sở tổng hợp cho sáu loại điều khiển liên quan – hộp kiểm, hộp kết hợp, hộp danh sách, nút lựa chọn, ô văn bản và nút chuyển đổi. CheckBoxControl, OptionButtonControl và TextBoxControl mỗi cái đều mở rộng nó, kế thừa các thành viên và thêm một thuộc tính đặc thù cho loại của chúng.
Mẹo và Thực hành tốt nhất
- Đọc
Forms2OleControl.Type(một giá trịForms2OleControlType) để xác định một điều khiển trước khi ép kiểu nó sang một trong các lớp con cụ thể – không phải mọiForms2OleControlđều là một trong năm lớp con có kiểu mạnh được đề cập ở đây. - Sử dụng
GroupNameđể liên kết nhiều đối tượngOptionButtonControlthành một tập hợp loại trừ lẫn nhau, phù hợp với cách Word nhóm các nút lựa chọn. - Tiếp cận các điều khiển lồng nhau bên trong một khung hoặc bộ chứa đa trang thông qua
ChildNodesđược kế thừa (mộtForms2OleControlCollection), bất kể bộ chứa thuộc lớp con nào.
Các vấn đề thường gặp
| Vấn đề | Nguyên nhân | Sửa |
|---|---|---|
Ép kiểu Forms2OleControl sang CheckBoxControl gây ra một InvalidCastException | Điều khiển là một loại điều khiển Forms 2.0 khác (ví dụ: một TextBoxControl hoặc OptionButtonControl) | Kiểm tra Forms2OleControl.Type trước khi ép kiểu sang một lớp con cụ thể |
OptionButtonControl.Selected không hoạt động một cách loại trừ lẫn nhau với các điều khiển cùng cấp | Các điều khiển không có cùng GroupName | Đặt cùng một giá trị GroupName cho mọi OptionButtonControl trong tập |
CommandButtonControl.Caption trống | Tiêu đề của nút được lấy từ Forms2OleControl.Caption kế thừa, không phải thuộc tính riêng của CommandButtonControl | Đọc Caption, chứ không phải thành viên chỉ có CommandButtonControl không tồn tại |
FAQ
Làm sao tôi biết Forms2OleControl thực sự là lớp điều khiển có kiểu mạnh nào?
Đọc thuộc tính Type của nó (Forms2OleControlType) hoặc cố gắng ép kiểu sang lớp con cụ thể mà bạn mong đợi, chẳng hạn như CheckBoxControl hoặc TextBoxControl.
Sự khác biệt giữa MorphDataControl và Forms2OleControl là gì?
Forms2OleControl là lớp cơ sở trừu tượng cho mọi điều khiển Forms 2.0. MorphDataControl là một lớp cơ sở trừu tượng cụ thể hơn, tự mở rộng Forms2OleControl, được chia sẻ bởi các loại điều khiển checkbox, combo box, list box, option button, text box và toggle button.
Làm sao tôi đọc trạng thái được chọn của điều khiển checkbox?
Ép Forms2OleControl sang CheckBoxControl và đọc thuộc tính Checked của nó.
Liệu CommandButtonControl có mở rộng MorphDataControl như các cái khác không?
Không – CommandButtonControl mở rộng Forms2OleControl trực tiếp, vì nút lệnh không phải là điều khiển nhập dữ liệu.
API Reference Tóm tắt
| Lớp | Mô tả |
|---|---|
MorphDataControl | Lớp cơ sở trừu tượng cho các điều khiển checkbox, combo box, list box, option button, text box và toggle button |
CheckBoxControl | Điều khiển hộp kiểm; mở rộng MorphDataControl; thêm Checked |
OptionButtonControl | Điều khiển nút tùy chọn; mở rộng MorphDataControl; thêm Selected |
TextBoxControl | Điều khiển hộp văn bản; mở rộng MorphDataControl; thêm Text |
CommandButtonControl | Điều khiển nút lệnh; mở rộng Forms2OleControl trực tiếp |