我不确定这是否可行,因为我是C#和Windows Forms应用程序的新手。我目前只有一个表格。在表单中我有flowLayoutPanel
。
在此面板中,我有toolStripMain
,toolStrip0 [TabIndex 0]
,toolStrip1 [TabIndex 1]
和toolStrip2 [TabIndex2]
。 toolStripMain
始终可见,我有一个上一个按钮和下一个按钮。
表单加载时,toolStrip0
可见,另外2个设置为Hide()。对于每次单击“下一步”,我想隐藏当前工具条,无论它是0,1还是2并显示下一个工具条,一旦它到达最后一个工具条,它就会重置并从0开始。
换句话说,对于每次单击“下一步”按钮,我需要当前工具条来隐藏并按顺序显示下一个条带。以下代码仅供1次点击。
private void forward_ButtonClick(object sender, EventArgs e)
{
toolStrip0.Hide();
toolStrip1.Show();
}
非常感谢任何正确方向的帮助或指示。
答案 0 :(得分:0)
为什么不对toolstrip
本身视而不见,而不是对某些前进/后退按钮进行盲注。看起来正确绑定的方法也是Toolstrip.ItemClicked
事件。
基于docs
事件处理程序报告ItemClicked事件的出现次数。
因此,当前点击的工具条项目将触发该事件。
public ToolStrip prevToolStripClicked = null;
...
...
private void ToolStrip1_ItemClicked(Object sender, ToolStripItemClickedEventArgs e)
{
if(prevToolStripClicked != null)
{
prevToolStripClicked.hide();
}
prevToolStripClicked = e.ClickedItem;
e.ClickedItem.show(); // prevToolStripClicked.show();
}
跟踪上一个Toolstrip
并检查ItemClicked
事件,如果它不为空,表示没有点击任何内容,然后.hide()
上一个按钮,然后将上一个按钮设置为当前和.show()
它。
这可能有用,但我对C#并不熟悉。这似乎是一种明智的做法。