1. 程式人生 > >C# Winform ToolStripContainer ToolStrip相關用法記錄

C# Winform ToolStripContainer ToolStrip相關用法記錄

            ZtoolStripContainerMain.TopToolStripPanel.Controls.Add(toolStrip2);
            ZtoolStripContainerMain.TopToolStripPanel.Controls.Add(toolStrip1);            
            ZtoolStripContainerMain.ContentPanel.Visible = false;
            toolItemMapGeneric.Checked = toolStrip1.Visible;
            toolItemBusiness1.Checked = toolStrip2.Visible;

            ZtoolStripContainerMain.TopToolStripPanel.ContextMenuStrip = menuToolStrip;
            ZtoolStripContainerMain.TopToolStripPanel.SizeChanged += delegate//(object o,EventArgs e)
            {
                if (ZtoolStripContainerMain.TopToolStripPanel.Height > 0)
                {
                    ZtoolStripContainerMain.Height = ZtoolStripContainerMain.TopToolStripPanel.Height;

                }
            };

            menuToolStrip.ItemClicked += (o, e) =>
                {
                    bool ischecked = (e.ClickedItem as ToolStripMenuItem).Checked;
                    int visibleCnt = 0;
                    foreach (Control item in ZtoolStripContainerMain.TopToolStripPanel.Controls)

                    {
                        if (item.Visible)
                        {
                            visibleCnt++;
                        }
                    }
                    //至少要有一個工具條存在,因為工具條為0的時候,toolStripContainer右鍵點選事件失效。
                    if (toolStrip1.DisplayRectangle.Height == ZtoolStripContainerMain.Height &&
                        ischecked && visibleCnt == 1)
                    {
                        return;
                    }
                    if (e.ClickedItem.Text == "地圖基本工具")
                    {
                        ischecked = toolStrip1.Visible = !toolStrip1.Visible;
                    }
                    else if (e.ClickedItem.Text == "業務工具")
                    {
                        ischecked = toolStrip2.Visible = !toolStrip2.Visible;
                    }
                    (e.ClickedItem as ToolStripMenuItem).Checked = ischecked;
                };
            //為了使剛載入的時候,兩根工具條在一行(且toolStrip1排在前面),這裡的設定順序不能換。