Ograniczenia kontrolek formularzy systemu Windows w dokumentach pakietu Office
Istnieją pewne różnice między kontrolkami formularzy systemu Windows, które są dodawane do dokumentów programu Microsoft Office Word lub arkuszy programu Microsoft Office Excel, oraz kontrolek formularzy systemu Windows, które są dodawane do formularzy Windows Forms. Na przykład podczas dodawania kontrolki Button do dokumentu właściwości, takich jak Dock, Anchori TabIndex nie zachowują się zgodnie z oczekiwaniami.
Wiele z tych różnic wynika ze sposobu, w jaki kontrolki Windows Forms są hostowane w dokumentach. Po dodaniu kontrolki Windows Forms do dokumentu środowisko uruchomieniowe Visual Studio Tools dla pakietu Office osadza kontrolkę ActiveX, która następnie hostuje kontrolkę Windows Forms w dokumencie. Kontrolka Formularze systemu Windows nie jest osadzona bezpośrednio w dokumencie.
Dotyczy: informacje w tym temacie dotyczą projektów na poziomie dokumentu i projektów dodatków VSTO dla programów Excel i Word. Aby uzyskać więcej informacji, zobacz Funkcje dostępne przez aplikacja pakietu Office lication i typ projektu.
Ograniczenia metod i właściwości kontrolek Windows Forms
Istnieje wiele metod i właściwości kontrolek Windows Forms, które nie działają tak samo w dokumencie, jak w formularzu systemu Windows, dlatego zaleca się, aby nie były używane. Na przykład ustawienie właściwości, takich jak Dock i Anchor tylko wpływa na położenie kontrolki w odniesieniu do kontrolki ActiveX kontenera, a nie dokumentu. Poniżej znajduje się lista nieobsługiwanych metod i właściwości kontrolek Formularzy systemu Windows dla programów Word i Excel:
Nieobsługiwane właściwości kontrolek programu Excel:
Nieobsługiwane metody i właściwości kontrolek programu Word:
Nie można również ustawić Left właściwości lub Top kontrolek Windows Forms, które są zgodne z tekstem w dokumencie programu Word. Kontrolki Formularzy systemu Windows są dodawane zgodnie z tekstem w następujących przypadkach:
Programowe dodawanie kontrolki do dokumentu programu Word i używanie metody określającej zakres lokalizacji.
Kontrolkę Formularze systemu Windows można dodać do dokumentu programu Word w czasie projektowania. Możesz to zmienić, modyfikując kontrolkę w projektancie.
Różnice w kontrolkach formularzy systemu Windows w dokumentach pakietu Office
Kontrolki Windows Forms zwykle mają takie samo zachowanie w dokumencie pakietu Office, jak w formularzu systemu Windows, ale istnieją pewne różnice. W poniższej tabeli opisano różnice, które istnieją dla kontrolek Windows Forms w dokumentach pakietu Office.
Funkcje | Różnica |
---|---|
Kolejność tabulacji kontrolki | Nie można karty kontrolek umieszczonych w arkuszu programu Excel lub dokumencie programu Word. |
Grupowanie kontrolek | Nie można użyć kontrolki GroupBox do przechowywania innych kontrolek w dokumencie pakietu Office. Po dodaniu wielu przycisków radiowych bezpośrednio do dokumentu przyciski radiowe nie wykluczają się wzajemnie. Możesz napisać kod, aby przyciski radiowe wykluczały się wzajemnie; jednak preferowaną metodą jest dodanie przycisków radiowych do kontrolki użytkownika, a następnie dodanie kontrolki użytkownika do dokumentu. Aby uzyskać więcej informacji, zobacz Przykładowe kontrolki programu Word lub Kontrolki programu Excel w temacie Office development samples and walkthroughs (Przykładowe kontrolki programu Word lub Kontrolki programu Excel) w artykule Office development samples and walkthroughs (Przykłady i wskazówki dotyczące programowania pakietu Office). |
Typ kontrolki | Kontrolki formularzy systemu Windows używane w dokumentach są opakowane w klasie udostępnionej przez środowisko uruchomieniowe Visual Studio Tools dla pakietu Office, które udostępnia kontrolki dodatkowe funkcje specyficzne dla arkusza programu Excel lub dokumentu programu Word. Jeśli na przykład masz kontrolkę Przycisk w arkuszu programu Excel, określ typ Button jako, a nie Button podczas odwoływania się do obiektu lub rzutowania go. |
Położenie i rozmiar kontrolki | Rozmiar i położenie kontrolki są określane przez właściwości będące częścią kontrolki ActiveX kontenera. Właściwości kontrolki ActiveX przyjmują inne wartości niż równoważne właściwości kontrolki Windows Forms. Po ustawieniu Top właściwości , Left , Height lub Width kontrolki jest mierzona w punktach, a nie pikselach. |
Pozycja sterowania w dokumentach programu Word | Jeśli dodasz kontrolki do układu opartego na przepływie, pamiętaj, że kontrolki będą przepływać z zawartością w miarę zmiany zawartości. Nie można zakotwiczyć kontrolki do akapitu podczas przeciągania go z przybornika, ponieważ kontrolka jest dodawana do dokumentu programu Word w wierszu z tekstem. Jeśli używasz innej metody do dodawania kontrolki, takiej jak dwukrotne kliknięcie kontrolki, kontrolka zostanie wstawiona zgodnie z opcją programu Word ustawioną do wstawiania obrazów. Nie można ustawić Left właściwości lub Top kontrolki, która jest śródliniowa z tekstem.Nie można umieścić kontrolek w nagłówku lub stopce lub w dokumentach podrzędnych. |
Kontrolowanie zdarzeń | Po wybraniu kontrolki zgłasza zdarzenia w następującej kolejności: 1. Enter 2. GotFocus Gdy kontrolka zostanie wybrana, zgłasza zdarzenia w następującej kolejności: 1. Leave 2. Validating 3. Validated 4. LostFocus |
Skalowanie kontrolek | Po zmianie ustawienia powiększenia dokumentu na inne niż 100%, kontrolki są wyłączone, chociaż wydają się być skalowane wraz z dokumentem. Jeśli na przykład klikniesz przycisk, gdy dokument jest powiększ o 130%, zostanie wyświetlony komunikat informujący, że kontrolka została wyłączona do momentu ustawienia powiększenia na 100%. Kontrolki będą działać poprawnie po zmianie powiększenia na 100%. |
Kontrolowanie wartości właściwości | Chociaż właściwości kontrolek w formularzu systemu Windows są ustawione na wartość całkowitą, są one ustawione na pojedynczą dla kontrolek w dokumencie programu Word. W programie Excel wartości właściwości kontrolek są ustawiane na wartość podwójną. Height Jeśli właściwość i Width kontrolki w arkuszu przekracza rozmiar arkusza lub ekranu, wartość jest obcięta. |
Kontrolowanie zmiany rozmiaru | Jeśli zmieniasz rozmiar kontrolki w dokumencie przy użyciu jednego z ośmiu uchwytów ustalania rozmiaru, nowe wymiary kontrolek nie zostaną odzwierciedlone w oknie Właściwości do momentu ponownego wybrania kontrolki. |
Zachowanie kontrolki | Kontrolki w arkuszu programu Excel mogą zachowywać się nieprzewidywalnie, gdy okno arkusza zostanie podzielone. Na przykład dostęp do TextBox obiektu w arkuszu może być dostępny tylko w jednym z okien. |
Nazewnictwo kontrolek | Do kontrolek nazw nie można używać wyrazów zarezerwowanych. Jeśli na przykład dodasz Button element do arkusza i zmienisz nazwę na System, podczas kompilowania projektu wystąpią błędy. |
Programowe dodawanie kontrolek | Nie używaj konstruktora kontrolki, aby dodać kontrolkę do dokumentu w czasie wykonywania. Zamiast tego użyj metod pomocnika udostępnianych przez środowisko uruchomieniowe Visual Studio Tools dla pakietu Office . Na przykład użyj AddButton metody , aby dodać przycisk do arkusza. Jeśli chcesz dodać kontrolkę, która nie jest obsługiwana przez te metody pomocnicze, możesz użyć AddControl metody . Aby uzyskać więcej informacji, zobacz Dodawanie kontrolek do dokumentów pakietu Office w czasie wykonywania. |
Kopiowanie kontrolek | Jeśli skopiujesz kontrolkę Formularze systemu Windows i wklejesz ją do dokumentu w czasie wykonywania, w dokumencie zostanie wklejona pusta kontrolka ActiveX kontenera. Kontrolka Windows Forms nie jest wyświetlana w nowej lokalizacji, a kod za oryginalną kontrolką nie jest kopiowany do kontrolki ActiveX kontenera. |
Ograniczenia w projektach na poziomie dokumentu
Niektóre ograniczenia dotyczące używania kontrolek formularzy systemu Windows w dokumentach są unikatowe dla projektów na poziomie dokumentu.
Obsługa kontroli w czasie projektowania
Niektóre kontrolki Formularze systemu Windows są usuwane z przybornika , gdy arkusz programu Excel lub dokument programu Word jest otwarty w projektancie programu Visual Studio. Wynika to z ograniczeń technicznych lub dlatego, że funkcjonalność jest już dostępna w programie Word lub Excel. Projekty programu Excel i Word obsługują wszystkie kontrolki Formularzy systemu Windows i inne składniki wyświetlane w przyborniku, gdy dokument ma fokus, a także można dodać kontrolki innych firm do arkusza lub dokumentu.
Uwaga
Wszystkie kontrolki są usuwane z przybornika, gdy dokument jest chroniony. Aby uzyskać informacje na temat ochrony dokumentów, zobacz Ochrona dokumentów w rozwiązaniach na poziomie dokumentu.
Uwaga
Kontrolki innych firm muszą mieć ComVisibleAttribute atrybut ustawiony na wartość true , aby można je było używać w rozwiązaniu pakietu Office.
Następujące kontrolki i składniki nie są dostępne w przyborniku:
Obsługa starszych kontrolek ActiveX
Jeśli tworzysz projekt pakietu Office na poziomie dokumentu, który używa istniejącego dokumentu programu Word lub skoroszytu programu Excel zawierającego kontrolki ActiveX, funkcjonalność kontrolek ActiveX nie zostanie utracona; nie ma jednak obsługi dodawania nowych kontrolek ActiveX do dokumentów z poziomu programu Visual Studio. Jeśli na przykład dokument programu Word zawiera przycisk z przybornika kontrolki , w ramach którego jest uruchamiane makro języka Visual Basic for Applications (VBA), będzie ono nadal uruchamiane po użyciu dokumentu w projekcie pakietu Office. Zaleca się jednak usunięcie kontrolek ActiveX i makr VBA oraz zastąpienie ich kontrolkami Windows Forms i kodem zarządzanym.