繁体   English   中英

C#Windows Forms Application使用下一个/上一个按钮显示/隐藏工具栏

[英]C# Windows Forms Application show/hide toolstrips using next/previous buttons

我不确定这是否可行,因为我是C#和Windows Forms应用程序的新手。 我目前只有一个表格。 在表单内部,我具有flowLayoutPanel

在此面板中,我有toolStripMaintoolStrip0 [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();
    }

朝正确方向的任何帮助或指示,将不胜感激。

与其对特定的前进/后退按钮视而不见,为什么不对toolstrip本身视而不见。 看起来正确的绑定方法也是Toolstrip.ItemClicked事件。

基于文档

事件处理程序的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事件是否不为null,这表示未单击任何内容,然后.hide()前一个按钮,然后将前一个按钮设置为当前按钮,并将.show()设置为当前按钮。

这可能有效,但是我对C#并不熟悉。 这似乎是一个明智的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM