Podsumowanie technologii ToolStrip
W tym temacie przedstawiono podsumowanie informacji o kontrolce ToolStrip
i klasach, które obsługują jego użycie.
Kontrolka ToolStrip
i skojarzone z nią klasy zapewniają kompletne rozwiązanie do tworzenia pasków narzędzi, pasków stanu i menu.
Przestrzenie nazw
Tło
Za pomocą kontrolki ToolStrip
i skojarzonych z nią klas można utworzyć zaawansowane funkcje paska narzędzi, które mają spójny i profesjonalny wygląd i zachowanie. Kontrolki i klasy ToolStrip
oferują następujące ulepszenia w porównaniu z poprzednimi kontrolkami:
Bardziej spójny model zdarzeń.
Bardziej spójne zachowanie w okresie projektowania, które obejmuje listy zadań i edytory kolekcji elementów.
Renderowanie niestandardowe przy użyciu
ToolStripManager
iToolStripRenderer
.Wbudowane grupowanie (udostępnianie przestrzeni poziomej lub pionowej w obszarze narzędzi po zadokowaniu) z użyciem
ToolStripContainer
iToolStripPanel
.Zmiana kolejności elementów w czasie projektowania i czasie wykonywania za pomocą właściwości AllowItemReorder.
Przeniesienie elementów do menu przepełnienia z właściwością CanOverflow.
Całkowicie konfigurowalna lokalizacja sterowania za pomocą
ToolStripContainer
,ToolStripPanel
iToolStripContentPanel
.Hostowanie kontrolek
ToolStrip
, tradycyjnych lub niestandardowych przy użyciuToolStripControlHost
.Scalanie kontrolek
ToolStrip
przy użyciuToolStripPanel
.
ToolStrip
jest rozszerzalną klasą bazową dla MenuStrip
, ContextMenuStrip
i StatusStrip
. Te kontrolki są kontenerami ToolStripItem, które dziedziczą typowe zachowanie i obsługę zdarzeń, które zostały rozszerzone, tak aby każda implementacja zajmowała się zachowaniem odpowiednim dla niej. Kontrolki pochodzące z ToolStripItem są wymienione w poniższej tabeli. Klasa podstawowa ToolStrip
obsługuje zdarzenia malowania, wprowadzania przez użytkownika oraz operacje przeciągania i upuszczania dla tych kontrolek.
Kontrolki ToolStrip
, MenuStrip
, ContextMenuStrip
i StatusStrip
zastępują poprzednie kontrolki paska narzędzi, menu, menu skrótów i paska stanu, chociaż te kontrolki są zachowywane w celu zapewnienia zgodności z poprzednimi wersjami.
Klasy ToolStrip na pierwszy rzut oka
W poniższej tabeli przedstawiono klasy ToolStrip pogrupowane według obszaru technologii.
Obszar technologii | Klasa |
---|---|
Kontenery paska narzędzi, stanu i menu | ToolStrip MenuStrip ContextMenuStrip StatusStrip ToolStripDropDownMenu |
Elementy paska narzędziowego | ToolStripLabel ToolStripDropDownItem ToolStripMenuItem ToolStripButton ToolStripStatusLabel ToolStripSeparator ToolStripControlHost ToolStripComboBox ToolStripTextBox ToolStripProgressBar ToolStripDropDownButton ToolStripSplitButton |
Lokalizacja | ToolStripContainer ToolStripContentPanel ToolStripPanel |
Prezentacja i renderowanie | ToolStripManager ToolStripRenderer ToolStripProfessionalRenderer ToolStripRenderMode ToolStripManagerRenderMode |
Funkcje ToolStrip Design-Time
Rodzina ToolStrip kontrolek udostępnia bogaty zestaw narzędzi i szablonów do edytowania i definiowania podstaw interfejsu użytkownika, dzięki czemu można szybko utworzyć działającą aplikację.
Okna dialogowe zadania
W programie Visual Studio kliknięcie tagu inteligentnego w kontrolce w projektancie powoduje wyświetlenie listy zadań w celu wygodnego dostępu do wielu często używanych poleceń.
Redaktorzy kolekcji przedmiotów
W programie Visual Studio po kliknięciu Edytuj elementy na liście zadań lub kliknięciu kontrolki prawym przyciskiem myszy i wybraniu edytuj elementy w menu skrótów zostanie wyświetlony edytor kolekcji kontrolki. Edytory kolekcji umożliwiają dodawanie, usuwanie i zmienianie kolejności elementów, które zawiera kontrolka. Można również wyświetlać i zmieniać właściwości kontrolki oraz elementów kontrolki.
edytor kolekcji elementów StatusStrip
Edytor kolekcji elementów ContextMenuStrip
Kontrola hostingu
Klasa ToolStripControlHost udostępnia wbudowane opakowania dla kontrolek ToolStripComboBox, ToolStripTextBoxi ToolStripProgressBar. Możesz również hostować dowolną inną istniejącą lub kontrolkę COM w ToolStripControlHost.
Aby zapoznać się z przykładem hostowania kontrolek, zobacz Jak opakować kontrolkę Windows Forms za pomocą ToolStripControlHost.
Renderowanie
ToolStrip klasy implementują schemat renderowania, który znacznie różni się od innych kontrolek Windows Forms. Dzięki temu schematowi można łatwo stosować style i motywy.
Aby zastosować styl do ToolStrip i wszystkich obiektów ToolStripItem, które zawiera, nie trzeba obsługiwać zdarzenia Paint dla każdego elementu. Zamiast tego można ustawić właściwość RenderMode na jedną z wartości ToolStripRenderMode innych niż Custom. Alternatywnie możesz ustawić Renderer bezpośrednio na dowolną klasę, która dziedziczy z klasy ToolStripRenderer. Ustawienie tej właściwości powoduje automatyczne ustawienie RenderMode.
Możesz zastosować ten sam styl do wielu obiektów ToolStrip w tej samej aplikacji, ustawiając RenderMode na ManagerRenderMode oraz ustawiając właściwość RenderMode lub Renderer na ToolStripManagerRenderMode, które chcesz, lub na wartość ToolStripRenderer.
Przykłady renderowania można znaleźć w rozdziale Jak utworzyć i ustawić niestandardowy mechanizm renderowania dla kontrolki ToolStrip w Windows Forms.
Style i motywy
ToolStrip i powiązane klasy oferują prosty sposób na obsługę stylów wizualnych i niestandardowego wyglądu, które nie wymagają zastępowania metod OnPaint dla każdego elementu. Użyj właściwości DisplayStyle oraz RenderMode i Renderer.
Rafting i Dokowanie
Możesz tratwę, zadokować lub całkowicie ustawić ToolStrip kontrolki. ToolStrip elementy są rozmieszczone zgodnie z LayoutEngine kontenera.
Dowolne lub wszystkie kontrolki ToolStripContainer można wybierać bezpośrednio w czasie projektowania i można je usunąć. ToolStripContainer można rozszerzać i zwijać oraz zmieniać rozmiar za pomocą kontrolek, które zawiera.
Docking to określenie prostej lokalizacji kontrolki na lewej, prawej, górnej lub dolnej stronie formularza.
Zaletą raftingu nad dokowaniem jest to, że kontrolki ToolStrip, MenuStripi StatusStrip mogą współdzielić przestrzeń poziomą lub pionową z innymi kontrolkami.
Większość kontrolek ToolStrip może być zadokowana do formularza, podobnie jak inne kontrolki, zamiast używać rafowania. Można również określić, że kontrolka ToolStrip może być swobodnie umieszczona na formularzu, usuwając ją z jej ToolStripContainer i ustawiając jej właściwość Dock
na None
, lub można określić jego położenie bezwzględne, ustawiając odpowiednią właściwość Location. Zobacz Jak: przenieść element ToolStrip z elementu ToolStripContainer na formularz.
Użyj co najmniej jednej kontrolki ToolStripPanel, aby uzyskać większą elastyczność, szczególnie w przypadku aplikacji interfejsu wielu dokumentów (MDI) lub jeśli nie potrzebujesz ToolStripContainer.
ToolStripPanel zapewnia dokowalne miejsce do umieszczania i grupowania kontrolek ToolStrip, ale nie tradycyjnych kontrolek. Domyślnie
ToolStrip, MenuStripi StatusStrip pozwalają na przepełnianie się elementów. Jest to podobne do sposobu, w jaki te elementy zachowują się na paskach narzędzi pakietu Microsoft Office.
Zobacz też
- ToolStrip, kontrolka — omówienie
- architektura kontrolki ToolStrip
.NET Desktop feedback