【问题标题】:Toolstrip order in Toolstrip container工具条容器中的工具条订单
【发布时间】:2013-10-16 03:24:00
【问题描述】:

我有一个带有两个工具条的工具条容器。我想强制其中一个显示在另一个之上。 我尝试将一个 Dock 设置为 Top,另一个设置为 Bottom,但它们仍然随机显示。 我也尝试使用 TopToolStripPanel.Controls.SetChildIndex(...) 但它没有效果。 即使是两台不同电脑上的相同可执行文件也会给出不同的顺序。 有没有办法强制命令? 谢谢

【问题讨论】:

  • 有截图吗?通常我们只需要 1 个工具条。看起来您使用代码动态添加工具条?因为当您在表单上拖放 2 那些工具条时,它们会保持顺序,我与Docking 合作过很多次,至少与其他控件对接是可以的,我不认为有什么特别之处对于ToolStrip,如果有,它一定是一个错误,解决内部错误可能会导致一些丑陋的解决方法。
  • 我将这两个拖到工具条容器的顶部面板中。订单有时会混乱。即使在设置 Dock 属性之后。
  • 为什么不使用普通的Panel 或者干脆不使用任何容器?

标签: c# winforms toolstrip toolstripcontainer


【解决方案1】:

InitializeComponent(); 之后的这些代码行添加到表单的构造函数中,以确保您的特定顺序。这修复了设计器生成的代码中的任何混乱设置:

toolStripContainer1.TopToolStripPanel.SuspendLayout();
toolStrip1.Dock = DockStyle.None;
toolStrip2.Dock = DockStyle.None;
toolStrip1.Location = new Point(0, 0);
toolStrip2.Location = new Point(0, toolStrip1.Height);
toolStripContainer1.TopToolStripPanel.ResumeLayout();

【讨论】:

    猜你喜欢
    • 2011-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多