我有一个Winform应用程序使用MDI表单。在MDI表单上,我有一个ToolStrip,上面有按钮(按钮有图像),作为应用程序的主菜单按钮。因此,当用户单击工具条上的按钮时,该按钮的mdichild表单将打开子表单。
所以我有六个按钮,图像已经创建并在项目中。但我希望用户选择他们想要在工具条上显示的按钮。 因此,用户打开应用程序,工具条上只有一个按钮。用户单击该按钮并打开子屏幕,显示可能位于工具条上的所有可用现有按钮。用户选择他们想要在工具条上显示的按钮,然后单击子屏幕上的保存按钮。
我想要的是,只要用户点击该保存按钮,用户选择的按钮就会自动显示在工具条上。 现在我必须让用户关闭应用程序,然后重新打开它们选择出现在工具条上的按钮。
如何让按钮自动显示?
答案 0 :(得分:1)
只需创建所有ToolStripButtons
,然后将每个Visible
属性设置为false
。当用户选择要显示它们时,请将Visible
的{{1}}属性更改为ToolStripButton
。它们会自动显示在true
。
我使用VS2010和RemObjects的Oxygene(以前的AKA ToolStrip
)进行了测试。
Delphi Prism
。右键单击它并选择ToolStrip
。Insert standard items
按钮(New
,左端的按钮),然后将以下代码添加到newToolStripButton
处理程序中:// Oxygene version: helpToolStripButton.Visible := not helpToolStripButton.Visible; helpToolStripButton.Visible != helpToolStripButton.Visible;
newToolStripButton_Click
,并观看最右侧的newTooStripButton
(ToolStripButton
按钮),并从Help
中消失。答案 1 :(得分:0)
您可以创建任何 ToolStrip 并将其添加到 MenuStrip.DropDownItems.Add。 click EventHandler 必须是 (s,e) 函数。
ToolStripMenuItem ts = new ToolStripMenuItem();
ts.Name = $"MyMenuStrip";
ts.Text = "New MenuStrip";
ts.Click += new EventHandler(this.ToolStripMenuItem_Click);
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
ToolStripMenuItem clickedMenuItem = sender as ToolStripMenuItem;
Trace.WriteLine($"Clicked: {clickedMenuItem.Text}");
}