Τύποι ελέγχου Legacy ActiveX (Forms 2.0)
Παλαιό ActiveX (Forms 2.0) Τύποι Ελέγχου
Εργασία με αντικείμενα OLE και ενσωματωμένο περιεχόμενο καλύπτει πώς να προσεγγίσετε έναν ενσωματωμένο έλεγχο Microsoft Forms 2.0 ActiveX μέσω OleFormat.OleControl και να το μετατρέψετε σε αφηρημένο Forms2OleControl βασική κλάση. Aspose.Words FOSS για .NET επίσης εκθέτει πέντε ισχυρά τυποποιημένες υποκλάσεις για τους συγκεκριμένους τύπους ελέγχων που υποστηρίζει το Word – CheckBoxControl, OptionButtonControl, TextBoxControl, CommandButtonControl, και MorphDataControl – καθένα στο Aspose.Words.Drawing.Ole namespace, προσθέτοντας ένα μέλος ειδικό για τον έλεγχο πάνω από τις ιδιότητες Forms2OleControl ήδη παρέχει (Caption, Value, Enabled, Type, GroupName, ForeColor, BackColor, Width, Height, Name, ChildNodes).
CheckBoxControl και OptionButtonControl
CheckBoxControl επεκτείνει το MorphDataControl και προσθέτει το Checked (ένα bool) για την κατάσταση ενεργοποίησης/απενεργοποίησης του ελέγχου. Το OptionButtonControl επίσης επεκτείνει το MorphDataControl και προσθέτει το Selected (ένα bool) – που χρησιμοποιείται για ένα σύνολο αμοιβαία αποκλειστικών κουμπιών επιλογής που μοιράζονται το ίδιο GroupName.
TextBoxControl
TextBoxControl επεκτείνει το MorphDataControl και προσθέτει το Text (ένα string), το εμφανιζόμενο και επεξεργάσιμο κείμενο του ελέγχου.
CommandButtonControl
CommandButtonControl επεκτείνει άμεσα το Forms2OleControl (όχι το MorphDataControl) και έχει τον δικό του κατασκευαστή. Αντιπροσωπεύει ένα κουμπί που εκτελεί μια μακροεντολή όταν γίνεται κλικ σε Word, με την ετικέτα του κουμπιού να εκτίθεται μέσω της κληρονομημένης ιδιότητας Caption.
MorphDataControl: η Κοινή Βάση για τα Στοιχεία Εισαγωγής Δεδομένων
MorphDataControl είναι μια συγκεντρωτική βάση για έξι σχετικούς τύπους ελέγχου — πλαίσιο ελέγχου, συνδυαστικό πεδίο, λίστα, κουμπί επιλογής, πεδίο κειμένου και κουμπί εναλλαγής. Τα CheckBoxControl, OptionButtonControl και TextBoxControl το επεκτείνουν, κληρονομώντας τα μέλη του και προσθέτοντας μία ιδιότητα ειδική για τον τύπο τους.
Συμβουλές και Καλές Πρακτικές
- Διαβάστε το
Forms2OleControl.Type(μια τιμήForms2OleControlType) για να ταυτοποιήσετε έναν έλεγχο πριν τον μετατρέψετε σε μία από τις συγκεκριμένες υποκατηγορίες — δεν είναι κάθεForms2OleControlμία από τις πέντε ισχυρά τυποποιημένες υποκατηγορίες που καλύπτονται εδώ. - Χρησιμοποιήστε το
GroupNameγια να συσχετίσετε πολλαπλές εμφανίσεις τουOptionButtonControlσε ένα αμοιβαία αποκλειστικό σύνολο, όπως η Word ομαδοποιεί τα κουμπιά επιλογής. - Προσπελάστε ενσωματωμένα στοιχεία ελέγχου μέσα σε ένα πλαίσιο ή κοντέινερ πολλαπλών σελίδων μέσω του κληρονομημένου
ChildNodes(έναForms2OleControlCollection), ανεξάρτητα από το ποια υποκατηγορία είναι το κοντέινερ.
Συνηθισμένα Προβλήματα
| Πρόβλημα | Αιτία | Διόρθωση |
|---|---|---|
Η μετατροπή ενός Forms2OleControl σε CheckBoxControl προκαλεί ένα InvalidCastException | Ο έλεγχος είναι διαφορετικού τύπου ελέγχου Forms 2.0 (π.χ. ένα TextBoxControl ή OptionButtonControl) | Ελέγξτε το Forms2OleControl.Type πριν το μετατρέψετε σε συγκεκριμένη υποκλάση |
OptionButtonControl.Selected δεν συμπεριφέρεται ως αμοιβαία αποκλειστικό με τα αδελφικά στοιχεία ελέγχου | Τα στοιχεία ελέγχου δεν μοιράζονται το ίδιο GroupName | Ορίστε την ίδια τιμή GroupName σε κάθε OptionButtonControl του συνόλου |
CommandButtonControl.Caption είναι κενό | Η λεζάντα του κουμπιού προέρχεται από το κληρονομημένο Forms2OleControl.Caption, όχι από μια ιδιότητα ειδική για CommandButtonControl | Διαβάστε το Caption, όχι ένα ανύπαρκτο μέλος μόνο για CommandButtonControl |
FAQ
Πώς μπορώ να ξέρω ποια κλάση ελέγχου συγκεκριμένου τύπου είναι στην πραγματικότητα ένα Forms2OleControl;
Διαβάστε την ιδιότητα Type της (Forms2OleControlType) ή προσπαθήστε να κάνετε cast στην συγκεκριμένη υποκλάση που αναμένετε, όπως CheckBoxControl ή TextBoxControl.
Ποια είναι η διαφορά μεταξύ του MorphDataControl και του Forms2OleControl;
Forms2OleControl είναι η αφηρημένη βάση για κάθε έλεγχο Forms 2.0. MorphDataControl είναι μια πιο συγκεκριμένη αφηρημένη βάση, η οποία επεκτείνεται από το Forms2OleControl, και μοιράζεται από τους τύπους ελέγχου κουτί επιλογής, συνδυαστικό κουτί, λίστα, κουμπί επιλογής, πεδίο κειμένου και κουμπί εναλλαγής.
Πώς διαβάζω την κατάσταση ελέγχου (checked) ενός κουτιού επιλογής;
Κάντε cast το Forms2OleControl σε CheckBoxControl και διαβάστε την ιδιότητα Checked του.
Το CommandButtonControl επεκτείνεται από το MorphDataControl όπως και τα άλλα;
Όχι – CommandButtonControl επεκτείνει άμεσα το Forms2OleControl, επειδή ένα κουμπί εντολής δεν είναι στοιχείο εισαγωγής δεδομένων.
API Reference Περίληψη
| Κλάση | Περιγραφή |
|---|---|
MorphDataControl | Αφηρημένη βάση για τα στοιχεία ελέγχου checkbox, combo box, list box, option button, text box και toggle button |
CheckBoxControl | Έλεγχος πλαισίου επιλογής; επεκτείνεται MorphDataControl; προσθέτει Checked |
OptionButtonControl | Έλεγχος κουμπιού επιλογής; επεκτείνεται MorphDataControl; προσθέτει Selected |
TextBoxControl | Έλεγχος πεδίου κειμένου; επεκτείνεται MorphDataControl; προσθέτει Text |
CommandButtonControl | Έλεγχος κουμπιού εντολής; επεκτείνεται Forms2OleControl απευθείας |