C# Winform ToolStripContainer ToolStrip相關用法記錄
阿新 • • 發佈:2019-02-12
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排在前面),這裡的設定順序不能換。
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排在前面),這裡的設定順序不能換。