Sdílet prostřednictvím


Návod: Vytvoření formuláře MDI s ovládacími prvky Menu Merging a ToolStrip

Obor názvů System.Windows.Forms podporuje více aplikací rozhraní dokumentů (MDI) a ovládací prvek MenuStrip podporuje slučování nabídek. Formuláře MDI mohou také ovládat prvky ToolStrip.

Tento návod ukazuje, jak používat ovládací prvky ToolStripPanel s formulářem MDI. Formulář také podporuje slučování menu s podřízenými menu. Následující úlohy jsou znázorněny v tomto názorném postupu:

  • Vytvoření projektu aplikace Windows Forms

  • Vytvořte hlavní nabídku formuláře. Skutečný název nabídky se bude lišit.

  • Přidání ovládacího prvku dopanelu nástrojů .

  • Vytvoření podřízeného formuláře

  • Seřazení ToolStripPanel ovládacích prvků podle z-rodu.

Po dokončení budete mít formulář MDI, který podporuje slučování nabídek a pohyblivých ovládacích prvků ToolStrip.

Pokud chcete zkopírovat kód v tomto tématu jako jeden ucelený blok, nahlédněte do tématu Postupy: Vytvoření formuláře MDI se sloučením nabídek a ovládacími prvky ToolStrip.

Požadavky

K dokončení tohoto návodu budete potřebovat Visual Studio.

Vytvoření projektu

  1. V sadě Visual Studio vytvořte projekt aplikace pro Windows s názvem MdiForm (File>New>Project>Visual C# nebo Visual Basic>Classic Desktop>Windows Forms Application).

  2. V návrháři Windows Forms vyberte formulář.

  3. V okně Vlastnosti nastavte hodnotu IsMdiContainer na true.

Vytvořte hlavní nabídku

Rodičovský formulář MDI obsahuje hlavní nabídku. Hlavní nabídka obsahuje jednu položku nabídky s názvem Window. Pomocí položky nabídky Okno můžete vytvářet podřízené formuláře. Položky nabídky z podřízených formulářů se sloučí do hlavní nabídky.

  1. Ze panelu nástrojůpřetáhněte ovládací prvek MenuStrip do formuláře.

  2. Přidejte ToolStripMenuItem do ovládacího prvku MenuStrip a pojmenujte ho Window.

  3. Vyberte ovládací prvek MenuStrip.

  4. V okně Vlastnosti nastavte hodnotu vlastnosti MdiWindowListItem na ToolStripMenuItem1.

  5. Přidejte dílčí položku do položky menu Okno a poté pojmenujte dílčí položku Nový.

  6. V okně Vlastnosti klikněte na Události.

  7. Poklikejte na událost Click.

    Windows Forms Designer vygeneruje obslužnou rutinu pro událost Click.

  8. Do obslužné rutiny události vložte následující kód.

    // This method creates a new ChildForm instance
    // and attaches it to the MDI parent form.
    private void newToolStripMenuItem_Click(object sender, EventArgs e)
    {
        ChildForm f = new ChildForm();
        f.MdiParent = this;
        f.Text = "Form - " + this.MdiChildren.Length.ToString();
        f.Show();
    }
    
    ' This method creates a new ChildForm instance 
    ' and attaches it to the MDI parent form.
     Private Sub newToolStripMenuItem_Click( _
     ByVal sender As Object, _
     ByVal e As EventArgs) _
     Handles newToolStripMenuItem.Click
    
         Dim f As New ChildForm()
         f.MdiParent = Me
         f.Text = "Form - " + Me.MdiChildren.Length.ToString()
         f.Show()
    
     End Sub
    

Přidání ovládacího prvku ToolStripPanel do panelu nástrojů

Pokud používáte ovládací prvky MenuStrip s formulářem MDI, musíte mít ovládací prvek ToolStripPanel. Chcete-li vytvořit formulář MDI v nástroji Windows Forms Designer, je nutné přidat ovládací prvek ToolStripPanel do Panel nástrojů.

  1. Otevřete panel nástrojůa potom klikněte na kartu Všechny formuláře Windows, abyste zobrazili dostupné ovládací prvky Windows Forms.

  2. Klepněte pravým tlačítkem myši pro otevření kontextové nabídky a vyberte Zvolit položky.

  3. V dialogovém okně Zvolit položky panelu nástrojů se posuňte dolů ve sloupci Název, dokud nenajdete ToolStripPanel.

  4. Zaškrtněte políčko ToolStripPanela klepněte na tlačítko OK.

    Ovládací prvek ToolStripPanel se objeví v panelu nástrojů.

Vytvořte dceřiný formulář

V tomto postupu definujete samostatnou podřízenou třídu formuláře, která má vlastní MenuStrip ovládací prvek. Položky nabídky pro tento formulář jsou sloučeny s položkami nadřazeného formuláře.

  1. Přidejte do projektu nový formulář s názvem ChildForm.

    Další informace naleznete v tématu Jak přidat Windows Forms do projektu.

  2. Z panelu nástrojů přetáhněte ovládací prvek MenuStrip na podřízený formulář.

  3. Klikněte na návrhářský akční glyf ovládacího prvku MenuStrip (Malá černá šipka) a pak vyberte Upravit položky.

  4. V dialogovém okně kolekce položek editoru přidejte do podřízené nabídky nový ToolStripMenuItem s názvem ChildMenuItem.

    Další informace naleznete v tématu ToolStrip Items Collection Editor.

Otestování formuláře

  1. Stisknutím klávesy F5 zkompilujte a spusťte formulář.

  2. Kliknutím na položku nabídky Okno otevřete nabídku a potom klepněte na tlačítko Nový.

    V klientské ploše MDI formuláře se vytvoří nový podřízený formulář. Nabídka podřízeného formuláře je sloučena s hlavní nabídkou.

  3. Zavřete podřízený formulář.

    Z hlavní nabídky se odebere nabídka podřízeného formuláře.

  4. Klikněte několikrát na Nový.

    Podřízené formuláře jsou automaticky uvedeny pod položkou nabídky Okno, protože je přiřazena vlastnost MdiWindowListItem ovládacího prvku MenuStrip.

Přidání podpory ToolStrip

V tomto postupu přidáte čtyři ovládací prvky ToolStrip do nadřazeného formuláře MDI. Každý ovládací prvek ToolStrip se přidá do ovládacího prvku ToolStripPanel, který je ukotvený k okraji formuláře.

  1. Ze panelu nástrojůpřetáhněte ovládací prvek ToolStripPanel do formuláře.

  2. Pokud je vybraný ovládací prvek , poklepejte na ovládací prvek v panelu nástrojů.

    Ovládací prvek ToolStrip je vytvořen v ovládacím prvku ToolStripPanel.

  3. Vyberte ovládací prvek ToolStripPanel.

  4. V okně Vlastnosti změňte hodnotu vlastnosti Dock ovládacího prvku na Left.

    Ovládací prvek ToolStripPanel je umístěn na levé straně formuláře pod hlavní nabídkou. Velikost oblasti klienta MDI se změní tak, aby odpovídala ovládacímu prvku ToolStripPanel.

  5. Opakujte kroky 1 až 4.

    Ukotvěte nový ovládací prvek ToolStripPanel nahoru formuláře.

    Ovládací prvek ToolStripPanel je ukotvený pod hlavní nabídkou, ale vpravo od prvního ovládacího prvku ToolStripPanel. Tento krok znázorňuje důležitost z-řazení pro správné umístění ovládacích prvků ToolStripPanel.

  6. Opakujte kroky 1 až 4 pro další dva ovládací prvky ToolStripPanel.

    Ukotvěte nové ovládací prvky ToolStripPanel vpravo a dole ve formuláři.

Uspořádání ovládacích prvků ToolStripPanel podle pořadí Z

Pozice ukotveného ToolStripPanel ovládacího prvku ve formuláři MDI je určena pozicí ovládacího prvku v pořadí z. Pořadí vrstev ovládacích prvků můžete snadno upravit v okně osnovy dokumentu.

  1. V nabídce Zobrazit klepněte na příkaz Další oknaa potom klepněte na Osnova dokumentu .

    Uspořádání ovládacích prvků ToolStripPanel z předchozího postupu je nestandardní. Důvodem je to, že pořadí vykreslování není správné. Pomocí okna Osnova dokumentu můžete změnit prostorové pořadí ovládacích prvků.

  2. V okně Osnova dokumentu vyberte ToolStripPanel4.

  3. Opakovaně klikněte na tlačítko se šipkou dolů, dokud ToolStripPanel4 není v dolní části seznamu.

    Ovládací prvek ToolStripPanel4 je ukotvený v dolní části formuláře pod ostatními ovládacími prvky.

  4. Vyberte ToolStripPanel2.

  5. Jedním kliknutím na tlačítko se šipkou dolů umístěte ovládací prvek do třetí části seznamu.

    Ovládací prvek ToolStripPanel2 je ukotvený v horní části formuláře pod hlavní nabídkou a nad ostatními ovládacími prvky.

  6. V okně Osnova dokumentu vyberte různé ovládací prvky a přesuňte je na různé pozice v z-indexu. Všimněte si efektu pořadí vrstev na umístění ukotvených ovládacích prvků. Pomocí CTRL-Z nebo příkazu Vrátit zpět v nabídce Upravit vrátíte své změny.

Kontrolní bod – otestování formuláře

  1. Stisknutím klávesy F5 zkompilujte a spusťte formulář.

  2. Klikněte na úchyt ovládacího prvku ToolStrip a přetáhněte ovládací prvek do různých pozic ve formuláři.

    Ovládací prvek ToolStrip můžete přetáhnout z jednoho ovládacího prvku ToolStripPanel do druhého.

Další kroky

V tomto průvodci jste vytvořili nadřazený formulář MDI s ovládacími prvky ToolStrip a slučováním nabídek. Pro mnoho dalších účelů můžete použít ToolStrip řadu ovládacích prvků:

Viz také