Freigeben über


Gewusst wie: Verwenden von ToolStripPanels für MDI

Aktualisiert: November 2007

ToolStripPanel bietet durch die Verwendung der Join-Methode Flexibilität für MDI (Multiple Document Interface-)Anwendungen.

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, wie ToolStripPanel-Steuerelemente für MDI verwendet werden.

' This code example demonstrates how to use ToolStripPanel
' controls with a multiple document interface (MDI).
Public Class Form1
   Inherits Form

   Public Sub New()
      ' Make the Form an MDI parent.
      Me.IsMdiContainer = True

      ' Create ToolStripPanel controls.
      Dim tspTop As New ToolStripPanel()
      Dim tspBottom As New ToolStripPanel()
      Dim tspLeft As New ToolStripPanel()
      Dim tspRight As New ToolStripPanel()

      ' Dock the ToolStripPanel controls to the edges of the form.
      tspTop.Dock = DockStyle.Top
      tspBottom.Dock = DockStyle.Bottom
      tspLeft.Dock = DockStyle.Left
      tspRight.Dock = DockStyle.Right

      ' Create ToolStrip controls to move among the 
      ' ToolStripPanel controls.
      ' Create the "Top" ToolStrip control and add
      ' to the corresponding ToolStripPanel.
      Dim tsTop As New ToolStrip()
      tsTop.Items.Add("Top")
      tspTop.Join(tsTop)

      ' Create the "Bottom" ToolStrip control and add
      ' to the corresponding ToolStripPanel.
      Dim tsBottom As New ToolStrip()
      tsBottom.Items.Add("Bottom")
      tspBottom.Join(tsBottom)

      ' Create the "Right" ToolStrip control and add
      ' to the corresponding ToolStripPanel.
      Dim tsRight As New ToolStrip()
      tsRight.Items.Add("Right")
      tspRight.Join(tsRight)

      ' Create the "Left" ToolStrip control and add
      ' to the corresponding ToolStripPanel.
      Dim tsLeft As New ToolStrip()
      tsLeft.Items.Add("Left")
      tspLeft.Join(tsLeft)

      ' Create a MenuStrip control with a new window.
      Dim ms As New MenuStrip()
      Dim windowMenu As New ToolStripMenuItem("Window")
      Dim windowNewMenu As New ToolStripMenuItem("New", Nothing, New EventHandler(AddressOf windowNewMenu_Click))
      windowMenu.DropDownItems.Add(windowNewMenu)
      CType(windowMenu.DropDown, ToolStripDropDownMenu).ShowImageMargin = False
      CType(windowMenu.DropDown, ToolStripDropDownMenu).ShowCheckMargin = True

      ' Assign the ToolStripMenuItem that displays 
      ' the list of child forms.
      ms.MdiWindowListItem = windowMenu

      ' Add the window ToolStripMenuItem to the MenuStrip.
      ms.Items.Add(windowMenu)

      ' Dock the MenuStrip to the top of the form.
      ms.Dock = DockStyle.Top

      ' The Form.MainMenuStrip property determines the merge target.
      Me.MainMenuStrip = ms

      ' Add the ToolStripPanels to the form in reverse order.
      Me.Controls.Add(tspRight)
      Me.Controls.Add(tspLeft)
      Me.Controls.Add(tspBottom)
      Me.Controls.Add(tspTop)

      ' Add the MenuStrip last.
      ' This is important for correct placement in the z-order.
      Me.Controls.Add(ms)
    End Sub

   ' This event handler is invoked when 
   ' the "New" ToolStripMenuItem is clicked.
   ' It creates a new Form and sets its MdiParent 
   ' property to the main form.
    Private Sub windowNewMenu_Click(ByVal sender As Object, ByVal e As EventArgs)
        Dim f As New Form()
        f.MdiParent = Me
        f.Text = "Form - " + Me.MdiChildren.Length.ToString()
        f.Show()
    End Sub
End Class
// This code example demonstrates how to use ToolStripPanel
// controls with a multiple document interface (MDI).
public class Form1 : Form
{
    public Form1()
    {
        // Make the Form an MDI parent.
        this.IsMdiContainer = true;

        // Create ToolStripPanel controls.
        ToolStripPanel tspTop = new ToolStripPanel();
        ToolStripPanel tspBottom = new ToolStripPanel();
        ToolStripPanel tspLeft = new ToolStripPanel();
        ToolStripPanel tspRight = new ToolStripPanel();

        // Dock the ToolStripPanel controls to the edges of the form.
        tspTop.Dock = DockStyle.Top;
        tspBottom.Dock = DockStyle.Bottom;
        tspLeft.Dock = DockStyle.Left;
        tspRight.Dock = DockStyle.Right;

        // Create ToolStrip controls to move among the 
        // ToolStripPanel controls.

        // Create the "Top" ToolStrip control and add
        // to the corresponding ToolStripPanel.
        ToolStrip tsTop = new ToolStrip();
        tsTop.Items.Add("Top");
        tspTop.Join(tsTop);

        // Create the "Bottom" ToolStrip control and add
        // to the corresponding ToolStripPanel.
        ToolStrip tsBottom = new ToolStrip();
        tsBottom.Items.Add("Bottom");
        tspBottom.Join(tsBottom);

        // Create the "Right" ToolStrip control and add
        // to the corresponding ToolStripPanel.
        ToolStrip tsRight = new ToolStrip();
        tsRight.Items.Add("Right");
        tspRight.Join(tsRight);

        // Create the "Left" ToolStrip control and add
        // to the corresponding ToolStripPanel.
        ToolStrip tsLeft = new ToolStrip();
        tsLeft.Items.Add("Left");
        tspLeft.Join(tsLeft);

        // Create a MenuStrip control with a new window.
        MenuStrip ms = new MenuStrip();
        ToolStripMenuItem windowMenu = new ToolStripMenuItem("Window");
        ToolStripMenuItem windowNewMenu = new ToolStripMenuItem("New", null, new EventHandler(windowNewMenu_Click));
        windowMenu.DropDownItems.Add(windowNewMenu);
        ((ToolStripDropDownMenu)(windowMenu.DropDown)).ShowImageMargin = false;
        ((ToolStripDropDownMenu)(windowMenu.DropDown)).ShowCheckMargin = true;

        // Assign the ToolStripMenuItem that displays 
        // the list of child forms.
        ms.MdiWindowListItem = windowMenu;

        // Add the window ToolStripMenuItem to the MenuStrip.
        ms.Items.Add(windowMenu);

        // Dock the MenuStrip to the top of the form.
        ms.Dock = DockStyle.Top;

        // The Form.MainMenuStrip property determines the merge target.
        this.MainMenuStrip = ms;

        // Add the ToolStripPanels to the form in reverse order.
        this.Controls.Add(tspRight);
        this.Controls.Add(tspLeft);
        this.Controls.Add(tspBottom);
        this.Controls.Add(tspTop);

        // Add the MenuStrip last.
        // This is important for correct placement in the z-order.
        this.Controls.Add(ms);
    }

    // This event handler is invoked when 
    // the "New" ToolStripMenuItem is clicked.
    // It creates a new Form and sets its MdiParent 
    // property to the main form.
    void windowNewMenu_Click(object sender, EventArgs e)
    {
        Form f = new Form();
        f.MdiParent = this;
        f.Text = "Form - " + this.MdiChildren.Length.ToString();
        f.Show();
    }
}

Kompilieren des Codes

Für dieses Beispiel sind erforderlich:

  • Verweise auf die Assemblys System.Design, System.Drawing und System.Windows.Forms.

Informationen zum Erstellen dieses Beispiels über die Befehlszeile für Visual Basic oder Visual C# finden Sie unter Erstellen von der Befehlszeile aus (Visual Basic) und Erstellen über die Befehlszeile mit csc.exe. Sie können dieses Beispiel auch in Visual Studio erstellen, indem Sie den Code in ein neues Projekt einfügen.

Siehe auch

Aufgaben

Gewusst wie: Verknüpfen von ToolStripPanels

Referenz

ToolStripPanel