poniedziałek, 10 grudnia 2012

70-511 Rozdział 4 - Kontrloki interfejsu użytkownika - menu

ToolStrip


Pozwala tworzyć paski menu znane z programów narzędziowych.
Niektóre z właściwości:
  • AllowItemReorder - jeżeli właściwość ustawiona, możemy zmieniać położenie kontrolek za pomocą klawisza ALT i myszki
  • AllowMerge - czy z danym paskiem menu można połączyć inny
  • CanOverflow - czy nie mieszczące się kontrolki paska mogą zostać przeniesione do meni dodatkowego klawisza (na końcu paska pojawia się klawisz ze strzałką pod którym znajdują się nie mieszczące się klawisze)
  • Dock - dokowanie do jednej z krawędzi
  • LayoutStyle - położenia (wertykalne, horyzontalne)
  • RenderMode - styl malowania kontrolek (Professional, System, ManagerRenderMode)
  • ShowItemToolTips - czy ma być wyświetlany dymek z podpowiedzią dla elementów menu
  • Stretch - kiedy ToolStrip umieszczony jest w ToolStripContainer, decyduje czy ma zająć całą powierzchnię w nim
Do ToolStrip-a możemy dodać następujące rodzaje kontrolek:
  • ToolStripLabel
  • ToolStripButton
  • ToolStripTextBox
  • ToolStripComboBox
  • ToolStripProgressBar
Każda z tych kontrolek posiada dodatkowe właściwości związane z menu:
  • MergeAction - sposób w jaki zachowa się element podczas łączenia z innym menu który zawiera taki sam element
  • MergeIndex - indeks pod którym znajdzie się element, gdy łączenie jest ustawione na Insert
  • ToolTipText - podpowiedź - popularny "dymek" po najechaniu na element menu



ToolStripContainer


Kontener specjalnie przygotowany dla pasków menu. We wnętrzu tego kontenera użytkownik może zmieniać położenie menu. Najczęściej wykorzystuje się możliwość przypisania ToolStrip do jednej z czterech krawędzi. Widocznością konkretnego menu można sterować za pomocą właściwości, np. TopToolStripPanelVisible.


Aby połączyć dwa ToolStrip należy skorzystać ze statycznej klasy ToolStripManager. Przykład łączenia dwóch ToolStrip w jeden:

Code:
ToolStripManager.Merge(toolStrip1, toolStrip2);

Podczas łączenia elementy są porównywane na podstawie właściwośći Text. Jeżeli dwa elementy mają ten sam Text, o tym co się stanie decyduje właściwość MergeAction.
Może ona przyjąć jedną z 5 możliwości:
  • Append - dodaje element na końcu nowego menu
  • Insert - wstawia w miejsce określone przez właściwość MergeIndex
  • MatchOnly - brak reakcji
  • Remove - jeżeli zostanie znaleziony odpowiednik, usuwa go
  • Replace - podmienia odpowiednik
 


MenuStrip



Kontrolka definiuje standardowe, znane z wielu aplikacji menu. Kontrolka ta dziedziczy po ToolStrip i umożliwia umieszczanie w nim elementów dostępnych dla ToolStrip. Elementy menu to instancje klasy ToolStripMenuItem. Każdy element może zawierać subelementy.
MenuStrip zawiera zestaw właściwości znany z ToolStrip, dodając do tego właściwością taką jak TextDirection - mówi ona o kierunku tekstu elementu.
Elementy menu to instancje klasy ToolStripMenuItem. Niektóre z właściwości tej klasy:
  • AutoSize - czy element menu ma dostosować wielkość do tekstu
  • Checked - czy element ma być zaznaczony
  • CheckOnClick - czy po kliknięciu ma być automatycznie zaznaczony
  • CheckState - stan zaznaczenia elementu
  • DisplayStyle - styl wyświetlania
  • DoubleClickEnabled - czy zdarzenie DoubleClick ma być wywoływane
  • ShortcutKeys - skrót klawiszowy
  • ShowShortcutKeys - czy wyświetlać skrót klawiszowy
  • ShortcutKeyDisplayString - umożliwia ustawienie własnego tekstu wyświetlanego jako skrót klawiszowy


ContextMenuStrip

Menu to wyświetlane jest w momencie gdy użytkownik kliknie prawym klawiszem myszy. Tworzenie elementów tego menu jest zdefiniowane w ten sam sposób co MenuStrip. Po utworzeniu tego menu należy go przypisać do widzialnej kontrolki, która ma go zawierać. Realizuje się to poprzez właściwość ContextMenuStrip.
Przykład przypisania do formatki w kodzie:

Code:
ContextMenuStrip = contextMenuStrip1;

Brak komentarzy:

Prześlij komentarz