Udostępnij za pośrednictwem


Omówienie kontrolek formularzy systemu Windows w dokumentach pakietu Office

Kontrolki formularzy systemu Windows to obiekty, z którymi użytkownicy mogą wchodzić w interakcje w celu wprowadzania danych lub manipulowania nimi. W projektach na poziomie dokumentu dla programów Microsoft Office Excel i Microsoft Office Word można dodawać kontrolki Windows Forms do dokumentu lub skoroszytu w czasie projektowania lub programowo dodawać te kontrolki w czasie wykonywania. Możesz programowo dodać te kontrolki do dowolnego otwartego dokumentu lub arkusza w czasie wykonywania w dodatku VSTO dla programu Excel lub Word.

Aby uzyskać więcej informacji, zobacz How to: Add Windows Forms controls to Office documents (Instrukcje: dodawanie kontrolek windows Forms do dokumentów pakietu Office).

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.

Korzystanie z kontrolek formularzy systemu Windows

Kontrolki formularzy systemu Windows można dodawać do dokumentów i dostosowywać elementy interfejsu użytkownika, w tym okienka akcji, niestandardowe okienka zadań i formularze systemu Windows. Kontrolki Windows Forms zwykle mają takie samo zachowanie w dokumentach, jak w przypadku tych innych elementów interfejsu użytkownika, ale istnieją pewne różnice. Aby uzyskać informacje, zobacz Ograniczenia kontrolek formularzy systemu Windows w dokumentach pakietu Office.

Decyzja o dodaniu kontrolek Windows Forms do dokumentu lub innego elementu interfejsu użytkownika zależy od kilku czynników. Podczas projektowania interfejsu użytkownika rozwiązania należy wziąć pod uwagę użycie kontrolek Windows Forms zgodnie z opisem w poniższej tabeli.

W dokumencie.

  • Jeśli chcesz wyświetlić kontrolki 100% czasu.

  • Jeśli chcesz, aby użytkownicy wprowadzali dane bezpośrednio w dokumencie, na przykład w dokumentach opartych na formularzach, w których powierzchnia edycji jest zablokowana.

  • Jeśli chcesz, aby kontrolki wyświetlały się zgodnie z danymi w dokumencie. Jeśli na przykład dodasz przyciski do każdego wiersza obiektu listy, chcesz, aby były one zgodne z każdym elementem listy.

W okienku akcji lub w niestandardowym okienku zadań.

  • Jeśli chcesz podać użytkownikowi informacje kontekstowe.

  • Jeśli chcesz, aby tylko wyniki pojawiały się w dokumencie, a nie kontrolki i dane zapytania.

  • Jeśli chcesz upewnić się, że kontrolki nie są drukowane przy użyciu dokumentu.

  • Jeśli chcesz upewnić się, że kontrolki nie zakłócają widoku dokumentu.

W formularzu systemu Windows.

  • Jeśli chcesz kontrolować rozmiar interfejsu użytkownika.

  • Jeśli chcesz uniemożliwić użytkownikom ukrywanie lub usuwanie kontrolek.

  • Gdy chcesz uzyskać dane wejściowe od użytkownika i uniemożliwić użytkownikowi wykonywanie niczego w dokumencie do momentu odebrania danych wejściowych.

Programowe dodawanie kontrolek Windows Forms

Kontrolki Formularzy systemu Windows można dodawać do dokumentów programu Word i arkuszy programu Excel w czasie wykonywania. Środowisko uruchomieniowe Visual Studio Tools dla pakietu Office udostępnia metody pomocnicze do dodawania najbardziej typowych kontrolek Windows Forms. Te metody pomocnicze umożliwiają szybkie dodawanie kontrolek do dokumentu pakietu Office i uzyskiwanie dostępu do połączonych funkcji kontroli formularzy systemu Windows i funkcji związanych z pakietem Office tych kontrolek.

Aby uzyskać więcej informacji, zobacz Dodawanie kontrolek do dokumentów pakietu Office w czasie wykonywania.

Używanie kontrolek formularzy systemu Windows w projektach na poziomie dokumentu

Niektóre aspekty używania kontrolek formularzy systemu Windows w dokumentach są unikatowe dla projektów na poziomie dokumentu, które umożliwiają projektowanie interfejsu użytkownika dokumentu przy użyciu projektanta programu Visual Studio.

Tworzenie niestandardowych kontrolek użytkownika

Możesz dodać kontrolkę użytkownika do projektu, a następnie dodać ją do przybornika. Następnie możesz przeciągnąć kontrolkę użytkownika bezpośrednio do dokumentu w taki sam sposób, jak kontrolka Formularze systemu Windows do dokumentu. Podczas tworzenia kontrolek użytkownika należy pamiętać o kilku kwestiach:

  • Nie twórz zapieczętowanej kontrolki użytkownika. Po przeciągnięciu kontrolki do dokumentu program Visual Studio generuje klasę otoki pochodzącą z kontrolki użytkownika, aby ją rozszerzyć i obsługiwać jej użycie w dokumencie. Jeśli kontrolka użytkownika jest zapieczętowana, program Visual Studio nie może wygenerować klasy otoki.

  • Kontrolki użytkownika muszą mieć ComVisibleAttribute atrybut ustawiony na wartość true. Kontrolki użytkownika utworzone w projekcie pakietu Office mają ten atrybut ustawiony na wartość true domyślnie, ale kontrolki użytkownika będące częścią projektów zewnętrznych mogą nie mieć tego atrybutu ustawionego na wartość true.

  • Po dodaniu kontrolki użytkownika do dokumentu nie zmieniaj nazwy ani nie usuwaj UserControl klasy z projektu. Jeśli musisz zmienić nazwę kontrolki użytkownika, musisz najpierw usunąć ją z dokumentu, a następnie dodać ją ponownie po zmianie nazwy.

Rozmieszczanie kontrolek w czasie projektowania

W przypadku dodawania wielu kontrolek do dokumentów programów Word i Excel w czasie projektowania można szybko ustawić wyrównanie wszystkich wybranych kontrolek przy użyciu pasków narzędzi Microsoft Office Word i Microsoft Office Excel w programie Visual Studio. Te paski narzędzi są dostępne tylko wtedy, gdy dokument lub arkusz jest otwarty w projektancie.

Po wybraniu wielu kontrolek w projektancie możesz użyć następujących przycisków na tych paskach narzędzi, aby rozmieścić kontrolki:

  • Wyrównaj do lewej

  • Wyrównaj do centrów

  • Wyrównaj prawa

  • Wyrównaj do góry

  • Wyrównaj środkowe

  • Wyrównaj do dołu

  • Wyrównaj odstępy w poziomie

  • Ustaw odstępy w pionie

Uwaga

W projektach programu Word te przyciski są włączone tylko wtedy, gdy zaznaczone kontrolki nie są zgodne z tekstem. Domyślnie kontrolki dodawane do dokumentu w czasie projektowania są zgodne z tekstem.

Uniemożliwianie wyświetlania starych danych w skoroszytach programu Excel podczas ładowania

Po dodaniu kontrolek Windows Forms do dokumentów lub arkuszy w czasie projektowania kontrolki pozostaną w dokumencie, gdy użytkownik zamknie dokument. Kontrolki dodane w czasie projektowania są również nazywane kontrolkami statycznych.

Po otwarciu skoroszytu programu Excel zawierającego kontrolki statyczne skoroszyt wyświetla mapę bitową kontrolki w kontrolce ActiveX do momentu uruchomienia kodu dostosowywania i załadowania rzeczywistej kontrolki. Program Excel tworzy tę mapę bitową i zapisuje ją w skoroszycie za każdym razem, gdy skoroszyt zostanie zapisany. Mapa bitowa pokazuje kontrolkę podczas ostatniego zapisania skoroszytu, w tym wszelkich danych wyświetlanych przez kontrolkę. Aby uzyskać więcej informacji na temat kontrolki ActiveX, która zawiera kontrolki i mapy bitowe windows Forms, zobacz Ograniczenia kontrolek formularzy systemu Windows w dokumentach pakietu Office.

W pewnych warunkach kod nie jest ładowany i jest wyświetlana tylko mapa bitowa, na przykład gdy użytkownik otworzy skoroszyt w trybie projektowania. Ponadto jeśli użytkownik otworzy skoroszyt na komputerze, który nie ma zainstalowanego środowiska uruchomieniowego Visual Studio Tools dla pakietu Office, dostosowanie nie może zostać uruchomione w celu załadowania kontrolek i dlatego tylko mapa bitowa kontrolki jest widoczna. Przed zapisaniem skoroszytu należy zawsze usuwać dane osobowe ze skoroszytów i wysyłać je do innego użytkownika, aby upewnić się, że twoje dane osobowe nie zostaną przypadkowo ujawnione.

Dopasuj rozmiar kontrolki do rozmiaru komórki w arkuszu programu Excel

Rozmiar kontrolki można ustawić automatycznie po zmianie rozmiaru komórki nadrzędnej. Aby uzyskać więcej informacji, zobacz Jak zmienić rozmiar kontrolek w komórkach arkusza.

Dodawanie składników współużytkowanych przez wszystkie arkusze

Możesz dodać składniki, które mają być współużytkujące między wszystkimi arkuszami, takimi jak DataSet, do skoroszytu Projektant zamiast do arkuszy. Składnik pojawi się na pasku składników.

Formuła osadzania kontrolek w arkuszu programu Excel

Po wybraniu kontrolki w programie Excel zobaczysz na pasku formuły =EMBED("WinForms.Control.Host",""). Ten tekst jest niezbędny i nie należy go usuwać.

Styl układu kontrolek w dokumencie programu Word

Po dodaniu kontrolki do dokumentu programu Word w projekcie na poziomie dokumentu przy użyciu projektanta programu Visual Studio kontrolka jest dodawana zgodnie z tekstem. Aby zmienić styl układu kontrolki, kliknij prawym przyciskiem myszy kontrolkę, a następnie kliknij polecenie Formatuj kontrolkę. Wybierz styl zawijania na stronie Układ okna dialogowego Formatowanie obiektu .

Po dodaniu kontrolki do dokumentu programu Word w czasie wykonywania można określić styl układu nowej kontrolki przy użyciu różnych Add<przeciążeń metody klasy> sterującej:ControlCollection

  • Aby dodać kontrolkę w wierszu z tekstem, użyj przeciążenia, które akceptuje Range element określający lokalizację kontrolki.

  • Aby dodać kontrolkę jako kształt zmiennoprzecinkowy, użyj przeciążenia, które akceptuje lewe i górne współrzędne kontrolki.

    Aby uzyskać więcej informacji, zobacz Dodawanie kontrolek do dokumentów pakietu Office w czasie wykonywania.

    Jeśli otworzysz szablon programu Word w projektancie programu Visual Studio, kontrolki inne niż wbudowane w szablonie mogą nie być widoczne, ponieważ program Visual Studio otworzy szablon w widoku Normalny . Aby wyświetlić kontrolki, zmień widok na Układ wydruku.

Kontrolki poza treść dokumentu głównego

Kontrolki Formularzy systemu Windows nie są obsługiwane w nagłówku lub stopce ani w dokumentach podrzędnych.

Dodawanie składników w czasie projektowania

Niektóre kontrolki lub składniki nie są widoczne w dokumencie i są wyświetlane na pasku składników. Program Visual Studio udostępnia zasobnik składników dla każdego okna dokumentu. Pasek składników jest wyświetlany na ekranie tylko wtedy, gdy składniki istnieją w dokumencie.