ToolStrip — Architektura formantu
Klasy ToolStrip i ToolStripItem zapewniają elastyczny, rozszerzalny system do wyświetlania elementów paska narzędzi, stanu i menu. Wszystkie te klasy są zawarte w System.Windows.Forms przestrzeni nazw i są one zwykle nazywane prefiksem "ToolStrip" (np ToolStripOverflow. ) lub sufiksem "Strip" (na przykład MenuStrip).
ToolStrip
W poniższych tematach opisano ToolStrip i kontrolki, które pochodzą z niego.
ToolStrip jest abstrakcyjną klasą bazową dla MenuStrip, StatusStripi ContextMenuStrip. Poniższy model obiektów przedstawia hierarchię ToolStrip dziedziczenia.
Dostęp do wszystkich elementów w kolekcji ToolStrip można uzyskać za pośrednictwem kolekcji Items . Dostęp do wszystkich elementów w kolekcji ToolStripDropDownItem można uzyskać za pośrednictwem kolekcji DropDownItems . W klasie pochodnej z ToolStripklasy można również użyć DisplayedItems właściwości , aby uzyskać dostęp tylko do tych elementów, które są obecnie wyświetlane. Są to elementy, które nie znajdują się obecnie w menu przepełnienia.
Poniższe elementy zostały specjalnie zaprojektowane tak, aby bezproblemowo współdziałały zarówno z ToolStripSystemRenderer wszystkimi orientacjami, jak i ToolStripProfessionalRenderer we wszystkich orientacjach. Są one domyślnie dostępne w czasie projektowania dla kontrolki ToolStrip :
MenuStrip
MenuStrip to kontener najwyższego poziomu, który zastępuje MainMenuelement . Zapewnia również obsługę kluczy i wiele funkcji interfejsu dokumentu (MDI). Funkcjonalnie ToolStripDropDownItem i ToolStripMenuItem współpracują z elementem MenuStrip, chociaż pochodzą one z elementu ToolStripItem.
Poniższe elementy zostały specjalnie zaprojektowane tak, aby bezproblemowo współdziałały zarówno z ToolStripSystemRenderer wszystkimi orientacjami, jak i ToolStripProfessionalRenderer we wszystkich orientacjach. Są one domyślnie dostępne w czasie projektowania dla kontrolki MenuStrip :
StatusStrip
StatusStrip zastępuje kontrolkę StatusBar . Specjalne funkcje obejmują StatusStrip niestandardowy układ tabeli, obsługę rozmiaru i przenoszenia uchwytów formularza oraz Spring
właściwość, która umożliwia ToolStripStatusLabel automatyczne wypełnienie dostępnego miejsca.
Poniższe elementy zostały specjalnie zaprojektowane tak, aby bezproblemowo współdziałały zarówno z ToolStripSystemRenderer wszystkimi orientacjami, jak i ToolStripProfessionalRenderer we wszystkich orientacjach. Są one domyślnie dostępne w czasie projektowania dla kontrolki StatusStrip :
ContextMenuStrip
ContextMenuStripContextMenuzastępuje element . Możesz skojarzyć element z dowolną kontrolką ContextMenuStrip , a kliknięcie prawym przyciskiem myszy automatycznie wyświetli menu kontekstowe (lub menu skrótów). Programowo można wyświetlić ContextMenuStrip przy użyciu Show metody . ContextMenuStrip obsługuje scenariusze z możliwością Opening anulowania i Closing zdarzenia do obsługi dynamicznej populacji i scenariuszy wielokrotnego kliknięcia. ContextMenuStrip obsługuje obrazy, stan sprawdzania elementu menu, tekst, klucze dostępu, skróty i kaskadowe menu.
Poniższe elementy zostały specjalnie zaprojektowane tak, aby bezproblemowo współdziałały zarówno z ToolStripSystemRenderer wszystkimi orientacjami, jak i ToolStripProfessionalRenderer we wszystkich orientacjach. Są one domyślnie dostępne w czasie projektowania dla kontrolki ContextMenuStrip :
ToolStrip — funkcje ogólne
W poniższych tematach opisano funkcje i zachowanie ogólne ToolStrip dla kontrolek pochodnych i .
Malarstwo
Niestandardowe malowanie można wykonywać na ToolStrip kilka sposobów. Podobnie jak w przypadku innych kontrolek formularzy systemu Windows, ToolStrip ToolStripItem obie te metody i zdarzenia mają zastępowalne OnPaint
metody i Paint
zdarzenia. Podobnie jak w przypadku zwykłego malowania, układ współrzędnych jest powiązany z obszarem klienta kontrolki; oznacza to, że lewy górny róg kontrolki to 0, 0. Zdarzenie Paint
i OnPaint
metoda ToolStripItem zachowywania się jak inne zdarzenia farby sterującej.
Kontrolki ToolStrip zapewniają również bardziej precyzyjny dostęp do renderowania elementów i kontenera za pośrednictwem ToolStripRenderer klasy, która ma zastępowalne metody malowania tła, tła elementu, obrazu elementu, strzałki elementu, tekstu elementu i obramowania ToolStripelementu . Argumenty zdarzeń dla tych metod uwidaczniają kilka właściwości, takich jak prostokąty, kolory i formaty tekstu, które można dostosować zgodnie z potrzebami.
Aby dostosować tylko kilka aspektów sposobu malowania elementu, zazwyczaj zastępujesz element ToolStripRenderer.
Jeśli piszesz nowy element i chcesz kontrolować wszystkie aspekty obrazu, przesłoń metodę OnPaint
. Z poziomu OnPaint
programu można użyć metod z klasy ToolStripRenderer.
Domyślnie element ToolStrip jest dwukrotnie buforowany, korzystając z OptimizedDoubleBuffer ustawienia .
Rodzicielstwo
Koncepcja własności kontenera i elementu nadrzędnego jest bardziej złożona w ToolStrip kontrolkach niż w innych kontrolkach kontenera windows Forms. Jest to niezbędne do obsługi dynamicznych scenariuszy, takich jak przepełnienie, udostępnianie elementów rozwijanych w wielu ToolStrip elementach i obsługę generowania elementu ContextMenuStrip z kontrolki.
Poniższa lista zawiera opis elementów członkowskich związanych z rodzicielstwami i objaśnienia ich użycia.
OwnerItem uzyskuje dostęp do elementu, który jest źródłem elementu rozwijanego. Jest to podobne do SourceControl, ale zamiast zwracać kontrolkę, zwraca wartość ToolStripItem.
SourceControl Określa, która kontrolka jest źródłem ContextMenuStrip , gdy wiele kontrolek współużytkuje ten sam ContextMenuStripelement .
GetCurrentParent jest akcesorem tylko do odczytu do Parent właściwości . Element nadrzędny różni się od właściciela w tym, że element nadrzędny określa zwrócony bieżący ToolStrip , w którym jest wyświetlany element, który może znajdować się w obszarze przepełnienia.
Owner Zwraca kolekcję ToolStrip Items, której kolekcja Items zawiera bieżący ToolStripItemelement . Jest to najlepszy sposób odwołowania ImageList się do innych właściwości najwyższego poziomu ToolStrip bez konieczności pisania specjalnego kodu do obsługi przepełnienia.
Zachowanie odziedziczonych kontrolek
Następujące kontrolki są blokowane za każdym razem, gdy są używane w dziedziczeniu:
ToolStripPanel obejmuje panele w kontrolce, ToolStripContainer a także indywidualne ToolStripPanel .
Na przykład utwórz nową aplikację Windows Forms przy użyciu co najmniej jednej kontrolki na poprzedniej liście. Ustaw modyfikator dostępu co najmniej jednej kontrolki na public
lub protected
, a następnie skompiluj projekt. Dodaj formularz dziedziczony z pierwszego formularza, a następnie wybierz dziedziczony formant. Kontrolka jest zablokowana, zachowuje się tak, jakby jej modyfikator dostępu był private
.
ToolStripContainer — obsługa dziedziczenia
Kontrolka ToolStripContainer obsługuje ograniczone scenariusze dziedziczone, podobnie jak w poniższym przykładzie:
Utwórz nową aplikację Windows Forms.
Dodaj element ToolStripContainer do formularza.
Ustaw modyfikator ToolStripContainer dostępu elementu na lub
protected
public
.Dodaj dowolną kombinację kontrolek ToolStrip, MenuStripi ContextMenuStrip do ToolStripPanel regionów obiektu ToolStripContainer.
Skompiluj projekt.
Dodaj formularz dziedziczony z pierwszego formularza.
Wybierz dziedziczony ToolStripContainer formularz.
Dziedziczone zachowanie kontrolek podrzędnych
Po wykonaniu poprzednich kroków następuje następujące zachowanie dziedziczone:
W projektancie kontrolka jest wyświetlana z dziedziczonej ikony.
Kontrolki ToolStripPanel są zablokowane. Nie można wybrać ani zmienić ich układu.
Kontrolki ToolStripContentPanelmożna dodać do , przenieść kontrolki i ustawić je jako podrzędne kontrolki .ToolStripContentPanel
Zmiany są utrwalane po utworzeniu formularza.
Uwaga
Usuń modyfikatory dostępu ze wszystkich ToolStripPanel kontrolek będących częścią elementu ToolStripContainer. Modyfikator dostępu do kontrolki ToolStripContainer kontroluje całą kontrolę.
Zaufanie częściowe
Ograniczenia związane z ToolStrip
częściowym zaufaniem mają na celu zapobieganie nieumyślnym wpisowi danych osobowych, które mogą być używane przez nieautoryzowane osoby lub usługi. Środki ochronne są następujące:
ToolStripDropDown
kontrolki wymagają AllWindows wyświetlania elementów w obiekcie ToolStripControlHost. Dotyczy to zarówno kontrolek wewnętrznych, takich jak ToolStripTextBox, ToolStripComboBox, i, jak i ToolStripProgressBar kontrolek utworzonych przez użytkownika. Jeśli to wymaganie nie zostanie spełnione, te elementy nie są wyświetlane. Wyjątek nie jest zgłaszany.AutoClose Ustawienie właściwości na
false
wartość jest niedozwolone, a parametr zdarzenia, który można anulowaćClosing, jest ignorowany. Uniemożliwia to wprowadzanie więcej niż jednego naciśnięć klawiszy bez odrzucania elementu listy rozwijanej. Jeśli to wymaganie nie zostanie spełnione, takie elementy nie są wyświetlane. Wyjątek nie jest zgłaszany.Wiele zdarzeń obsługi naciśnięć klawiszy nie zostanie zgłoszonych, jeśli wystąpią w częściowych kontekstach zaufania innych niż AllWindows.
Klucze dostępu nie są przetwarzane, gdy AllWindows nie zostanie udzielona.
Sposób użycia
Następujące wzorce użycia mają wpływ na ToolStrip układ, interakcję z klawiaturą i zachowanie użytkownika końcowego:
Dołączono do elementu ToolStripPanel
Można ToolStrip zmienić położenie obiektu w obrębie ToolStripPanel i w poprzek ToolStripPanel. Właściwość
Dock
jest ignorowana, a jeśli Stretch właściwość tofalse
, rozmiar ToolStrip elementu rośnie w miarę dodawania elementów do elementu ToolStripPanel. Zazwyczaj element ToolStrip nie uczestniczy w kolejności tabulacji.Zadokowane
Element ToolStrip jest umieszczony po jednej stronie kontenera w stałej pozycji, a jego rozmiar rozszerza się na całej krawędzi, do której jest zadokowany. Zazwyczaj element ToolStrip nie uczestniczy w kolejności tabulacji.
Bezwzględnie rozmieszczone
Element ToolStrip jest podobny do innych kontrolek, w tym, że jest umieszczany przez Location właściwość, ma stały rozmiar i zazwyczaj uczestniczy w kolejności tabulacji.
Interakcja z klawiaturą
Klawisze dostępu
W połączeniu z klawiszem ALT lub po klawiszu ALT klucze dostępu są jednym ze sposobów aktywowania kontrolki przy użyciu klawiatury. ToolStrip obsługuje zarówno jawne, jak i niejawne klucze dostępu. Jawna definicja używa znaku ampersand (&) poprzedzającego literę. Niejawna definicja używa algorytmu, który próbuje znaleźć pasujący element na podstawie kolejności znaków w danej Text
właściwości.
Klawisze skrótu
Klawisze skrótów Keys używane przez MenuStrip kombinację wyliczenia (która nie jest specyficzna dla kolejności) do zdefiniowania klawisza skrótu. Możesz również użyć ShortcutKeyDisplayString właściwości , aby wyświetlić klawisz skrótu tylko z tekstem, na przykład wyświetlając "Del" zamiast "Usuń".
Nawigacja
Klawisz ALT aktywuje wskazywane MenuStrip przez MainMenuStrip. Z tego miejsca klawisze CTRL+TAB nawigują między kontrolkami ToolStrip w obrębie ToolStripPanel
s. Klawisz TAB i klawisze strzałek na klawiaturze liczbowej nawigują między elementami w obiekcie ToolStrip. Specjalny algorytm obsługuje nawigację w regionie przepełnienia. Pasek SPACJI ToolStripButtonwybiera znak , ToolStripDropDownButtonlub ToolStripSplitButton.
Koncentracja uwagi i walidacja
Po aktywowaniu za pomocą klawisza MenuStrip ALT kontrolka lub ToolStrip zazwyczaj nie należy ani nie usuwa fokusu z kontrolki, która aktualnie ma fokus. Jeśli w menu rozwijanym MenuStriplub znajduje się kontrolka hostowanaMenuStrip, kontrolka zyskuje fokus, gdy użytkownik naciska klawisz TAB. Ogólnie rzecz biorąc, zdarzenia GotFocus, EnterLostFocus, i Leave mogą MenuStrip nie być wywoływane, gdy są aktywowane przez klawiaturę. W takich przypadkach należy zamiast tego użyć zdarzeń MenuActivate i MenuDeactivate .
Domyślnie CausesValidation jest to false
. Wywołaj Validate jawnie formularz, aby przeprowadzić walidację.
Układ
Układ można kontrolować ToolStrip , wybierając jeden z elementów członkowskich ToolStripLayoutStyle właściwości LayoutStyle .
Układy stosu
Układanie to rozmieszczanie elementów obok siebie na obu końcach obiektu ToolStrip. Poniższa lista zawiera opis układów stosu.
Wartość domyślna to StackWithOverflow. To ustawienie powoduje ToolStrip automatyczne zmianę układu zgodnie z właściwością Orientation w celu obsługi scenariuszy przeciągania i zadokowania.
VerticalStackWithOverflow Renderuje ToolStrip elementy obok siebie w pionie.
HorizontalStackWithOverflow renderuje ToolStrip elementy obok siebie w poziomie.
Inne funkcje układów stosu
Alignment określa koniec ToolStrip elementu, do którego jest wyrównany element.
Gdy elementy nie mieszczą się w elemecie ToolStrip, zostanie automatycznie wyświetlony przycisk przepełnienia. Ustawienie Overflow właściwości określa, czy element jest zawsze wyświetlany w obszarze przepełnienia, zgodnie z potrzebami, czy nigdy.
LayoutCompleted W przypadku można sprawdzić Placement właściwość, aby określić, czy element został umieszczony na głównym ToolStrip, przepełnieniu ToolStriplub jeśli w ogóle nie jest wyświetlany. Typowymi przyczynami, dla których element nie jest wyświetlany, jest to, że element nie pasuje do głównego ToolStrip elementu, a jego Overflow właściwość została ustawiona na Neverwartość .
Utwórz ruchomy, umieszczając go w elemencie ToolStrip ToolStripPanel i ustawiając dla niego GripStyle wartość Visible.
Inne opcje układu
Pozostałe opcje układu to Flow i Table.
Układ przepływu
Flow layout jest wartością domyślną dla ContextMenuStrip, ToolStripDropDownMenui ToolStripOverflow. Jest on podobny do .FlowLayoutPanel Funkcje Flow układu są następujące:
Wszystkie funkcje FlowLayoutPanel programu są udostępniane przez LayoutSettings właściwość . Należy rzutować klasę LayoutSettings na klasę FlowLayoutSettings .
Możesz użyć Dock właściwości i Anchor w kodzie, aby wyrównać elementy w wierszu.
Właściwość Alignment jest ignorowana.
LayoutCompleted W przypadku można sprawdzić Placement właściwość, aby określić, czy element został umieszczony na głównymToolStrip, czy nie pasuje.
Uchwyt nie jest renderowany i dlatego ToolStrip Flow nie można przenosić stylu ToolStripPanel układu.
Przycisk ToolStrip przepełnienia nie jest renderowany i Overflow jest ignorowany.
Układ tabeli
Tablelayout jest wartością domyślną dla .StatusStrip Jest podobny do TableLayoutPanel. Funkcje Flow układu są następujące:
Wszystkie funkcje TableLayoutPanel programu są udostępniane przez LayoutSettings właściwość . Należy rzutować klasę LayoutSettings na klasę TableLayoutSettings .
Możesz użyć Dock właściwości i Anchor w kodzie, aby wyrównać elementy w komórce tabeli.
Właściwość Alignment jest ignorowana.
LayoutCompleted W przypadku można sprawdzić Placement właściwość, aby określić, czy element został umieszczony na głównymToolStrip, czy nie pasuje.
Uchwyt nie jest renderowany i dlatego ToolStrip Table nie można przenosić stylu ToolStripPanel układu.
Przycisk ToolStrip przepełnienia nie jest renderowany i Overflow jest ignorowany.
ToolStripItem
W poniższych tematach opisano ToolStripItem i kontrolki, które pochodzą z niego.
ToolStripItem jest abstrakcyjną klasą bazową dla wszystkich elementów, które przechodzą do klasy ToolStrip. Poniższy model obiektów przedstawia hierarchię ToolStripItem dziedziczenia.
ToolStripItem klasy dziedziczą bezpośrednio z ToolStripItemklasy , lub dziedziczą pośrednio z ToolStripItem za pośrednictwem ToolStripControlHost lub ToolStripDropDownItem.
ToolStripItemkontrolki muszą być zawarte w ToolStripobiekcie , StatusStripMenuStriplub ContextMenuStrip i nie można ich dodać bezpośrednio do formularza. Różne klasy kontenerów zostały zaprojektowane tak, aby zawierały odpowiedni podzestaw ToolStripItem kontrolek.
W poniższej tabeli wymieniono kontrolki zapasów ToolStripItem i kontenery, w których wyglądają najlepiej. Mimo że dowolny ToolStrip element może być hostowany w dowolnym ToolStripkontenerze pochodnym, te elementy zostały zaprojektowane tak, aby wyglądały najlepiej w następujących kontenerach:
Uwaga
ToolStripDropDown nie jest wyświetlany w przyborniku projektanta.
Element zawarty | ToolStrip | MenuStrip | ContextMenuStrip | StatusStrip | Toolstripdropdown |
---|---|---|---|---|---|
ToolStripButton | Tak | Nie. | Nie. | Nie. | Tak |
ToolStripComboBox | Tak | Tak | Tak | Nie | Tak |
ToolStripSplitButton | Tak | Nie. | Nie. | Tak | Tak |
ToolStripLabel | Tak | Nie. | Nie. | Tak | Tak |
ToolStripSeparator | Tak | Tak | Tak | Nie | Tak |
ToolStripDropDownButton | Tak | Nie. | Nie. | Tak | Tak |
ToolStripTextBox | Tak | Tak | Tak | Nie | Tak |
ToolStripMenuItem | Nie | Tak | Tak | Nie. | Nie. |
ToolStripStatusLabel | Nie. | Nie. | Nie. | Tak | Nie |
ToolStripProgressBar | Tak | Nie. | Nie. | Tak | Nie |
ToolStripControlHost | Tak | Tak | Nie | Tak | Tak |
Toolstripbutton
ToolStripButton to element przycisku dla elementu ToolStrip. Można go wyświetlić za pomocą różnych stylów obramowania i można go użyć do reprezentowania i aktywowania stanów operacyjnych. Można również zdefiniować ją tak, aby domyślnie miała fokus.
ToolStripLabel
Element ToolStripLabel zapewnia funkcje etykiet w ToolStrip kontrolkach. Element ToolStripLabel jest jak element ToolStripButton , który domyślnie nie uzyskuje fokusu i nie jest renderowany jako wypchnięty lub wyróżniony.
ToolStripLabel jako element hostowany obsługuje klucze dostępu.
LinkColorUżyj właściwości , LinkVisitedi LinkBehavior w elemecie ToolStripLabel , aby obsługiwać kontrolkę linku w obiekcie ToolStrip.
ToolStripStatusLabel
ToolStripStatusLabel jest wersją ToolStripLabel przeznaczoną specjalnie do użytku w programie StatusStrip. Funkcje specjalne obejmują BorderStyle, BorderSidesi Spring.
Toolstripseparator
Element ToolStripSeparator dodaje pionową lub poziomą linię do paska narzędzi lub menu w zależności od orientacji. Zapewnia grupowanie lub rozróżnienie między elementami, takimi jak te w menu.
Możesz dodać element ToolStripSeparator w czasie projektowania, wybierając go z listy rozwijanej. Można jednak również automatycznie utworzyć obiekt ToolStripSeparator , wpisując łącznik (-) w węźle szablonu projektanta lub w metodzie Add .
Toolstripcontrolhost
ToolStripControlHost jest abstrakcyjną klasą bazową dla ToolStripComboBox, ToolStripTextBoxi ToolStripProgressBar. ToolStripControlHost może hostować inne kontrolki, w tym kontrolki niestandardowe, na dwa sposoby:
Skonstruuj element ToolStripControlHost z klasą pochodzącą z Controlklasy . Aby w pełni uzyskać dostęp do hostowanej kontrolki i właściwości, należy oddać Control właściwość z powrotem do rzeczywistej klasy, którą reprezentuje.
Rozszerz ToolStripControlHostklasę , a w konstruktorze bez parametrów dziedziczonej klasy wywołaj konstruktor klasy bazowej przekazujący klasę, która pochodzi z Controlklasy . Ta opcja umożliwia opakowywanie typowych metod kontroli i właściwości w celu łatwego dostępu w obiekcie ToolStrip.
Toolstripcombobox
ToolStripComboBox jest zoptymalizowany pod kątem ComboBox hostowania w obiekcie ToolStrip. Podzbiór właściwości i zdarzeń hostowanej kontrolki są widoczne na ToolStripComboBox poziomie, ale ComboBox podstawowa kontrolka jest w pełni dostępna za pośrednictwem ComboBox właściwości .
Toolstriptextbox
ToolStripTextBox jest zoptymalizowany pod kątem TextBox hostowania w obiekcie ToolStrip. Podzbiór właściwości i zdarzeń hostowanej kontrolki są widoczne na ToolStripTextBox poziomie, ale TextBox podstawowa kontrolka jest w pełni dostępna za pośrednictwem TextBox właściwości .
ToolStripProgressBar
ToolStripProgressBar jest zoptymalizowany pod kątem ProgressBar hostowania w obiekcie ToolStrip. Podzbiór właściwości i zdarzeń hostowanej kontrolki są widoczne na ToolStripProgressBar poziomie, ale ProgressBar podstawowa kontrolka jest w pełni dostępna za pośrednictwem ProgressBar właściwości .
Toolstripdropdownitem
ToolStripDropDownItem jest abstrakcyjną klasą bazową dla ToolStripMenuItemelementów , ToolStripDropDownButtoni ToolStripSplitButton, które mogą hostować elementy bezpośrednio lub hostować dodatkowe elementy w kontenerze listy rozwijanej. W tym celu należy ustawić DropDown właściwość na wartość i ToolStripDropDown ustawić Items właściwość ToolStripDropDown. Uzyskaj dostęp do tych elementów listy rozwijanej DropDownItems bezpośrednio za pośrednictwem właściwości .
Toolstripmenuitem
ToolStripMenuItem to element, który ToolStripDropDownItem współpracuje z elementami ToolStripDropDownMenu i ContextMenuStrip obsługuje specjalne wyróżnianie, układ i układ kolumn dla menu.
Toolstripdropdownbutton
ToolStripDropDownButton wygląda jak ToolStripButton, ale wyświetla obszar listy rozwijanej po kliknięciu go przez użytkownika. Ukryj lub wyświetl strzałkę listy rozwijanej, ustawiając ShowDropDownArrow właściwość . ToolStripDropDownButton hostuje element ToolStripOverflowButton wyświetlający elementy, które przepełnią element ToolStrip.
Toolstripsplitbutton
ToolStripSplitButton łączy funkcje przycisków i przycisków rozwijanych.
DefaultItem Użyj właściwości , aby zsynchronizować Click zdarzenie wybranego elementu listy rozwijanej z elementem wyświetlanym na przycisku.
ToolStripItem — funkcje ogólne
ToolStripItem udostępnia następujące funkcje ogólne i opcje dziedziczenia kontrolek:
Zdarzenia podstawowe
Obsługa obrazów
Wyrównanie
Relacja tekstu i obrazu
Styl wyświetlania
Zdarzenia podstawowe
ToolStripItem kontrolki odbierają własne zdarzenia kliknięcia, myszy i malowania oraz mogą również wykonywać wstępne przetwarzanie klawiatury.
Obsługa obrazów
Właściwości Image, ImageAlign, ImageIndex, ImageKeyi ImageScaling odnoszą się do różnych aspektów obsługi obrazów. Użyj obrazów w ToolStrip kontrolkach, ustawiając te właściwości bezpośrednio lub ustawiając właściwość tylko ImageList w czasie wykonywania.
Skalowanie obrazów jest określane przez interakcję właściwości w systemach ToolStrip i ToolStripItemw następujący sposób:
ImageScalingSize to skala obrazu końcowego określona przez kombinację ustawienia obrazu ImageScaling i ustawienia kontenera AutoSize .
Jeśli AutoSize wartość to
true
(wartość domyślna) i ToolStripItemImageScaling ma SizeToFitwartość , nie ma skalowania obrazu, a ToolStrip rozmiar jest taki, jaki ma największy element lub określony minimalny rozmiar.Jeśli AutoSize parametr to
false
i ToolStripItemImageScaling ma Nonewartość , nie występuje ani obraz, ani ToolStrip skalowanie.
Wyrównanie
Wartość Alignment właściwości określa koniec ToolStrip , na którym pojawia się element. Właściwość Alignment działa tylko wtedy, gdy styl ToolStrip układu obiektu jest ustawiony na jedną z wartości przepełnienia stosu.
Elementy są umieszczane w ToolStrip kolejności, w której elementy są wyświetlane w kolekcji Items. Aby programowo zmienić lokalizację elementu, użyj Insert metody , aby przenieść element w kolekcji. Ta metoda przenosi element, ale nie duplikuje go.
Relacja tekstu i obrazu
Właściwość TextImageRelation definiuje względne rozmieszczenie obrazu w odniesieniu do tekstu na ToolStripItemobiekcie . Elementy, które nie mają obrazu, tekstu lub obu, są traktowane jako przypadki specjalne, dzięki czemu ToolStripItem nie wyświetla pustego miejsca dla brakującego elementu lub elementów.
Styl wyświetlania
DisplayStyle Umożliwia ustawienie wartości właściwości Tekst i Obraz elementu, wyświetlając tylko to, co chcesz. Jest to zwykle używane do zmiany tylko stylu wyświetlania w przypadku wyświetlania tego samego elementu w innym kontekście.
Klasy akcesoriów
Klasy, które zapewniają różne inne funkcje, obejmują:
ToolStripManager obsługuje ToolStripzadania związane z całymi aplikacjami, takie jak scalanie, ustawienia i opcje renderowania.
ToolStripRenderer umożliwia łatwe stosowanie określonego stylu lub motywu ToolStrip .
ToolStripProfessionalRenderer Tworzy pióra i pędzle na podstawie tabeli kolorów z możliwością zastąpienia (ProfessionalColorTable).
ToolStripSystemRenderer stosuje kolory systemowe i płaski styl wizualny do ToolStrip aplikacji.
ToolStripContainer jest podobny do SplitContainer. Używa czterech zadokowanych paneli bocznych (wystąpień ToolStripPanel) i jednego centralnego panelu (wystąpienia ToolStripContentPanel) w celu utworzenia typowego układu. Nie można usunąć paneli bocznych, ale można je ukryć. Nie można ani usunąć ani ukryć centralnego panelu. Można rozmieścić jeden lub więcej ToolStripkontrolek , MenuStriplub StatusStrip w panelach bocznych i można użyć panelu centralnego dla innych kontrolek. Umożliwia ToolStripContentPanel również uzyskanie obsługi renderera w treści formularza w celu uzyskania spójnego wyglądu. ToolStripContainer nie obsługuje wielu interfejsów dokumentów (MDI).
ToolStripPanel zapewnia miejsce na przenoszenie i rozmieszczanie ToolStrip kontrolek. Możesz użyć tylko jednego panelu, jeśli tak wybierzesz i ToolStripPanel dobrze sprawdza się w scenariuszach MDI.
Zobacz też
.NET Desktop feedback