【问题标题】:Unable to add checkbox to ToolStrip无法将复选框添加到 ToolStrip
【发布时间】:2017-05-05 10:34:37
【问题描述】:

我想在我的 C# winform 中添加一些复选框以及标准工具条控件。工具条提供的标准控件没有问题,但我的复选框有问题。在toolstrip中,第一个控件是combobox(toolstrip combobox),第二个是label(toolstrip label)。到现在都没有问题。我必须添加两个复选框,然后添加收费条组合框。我正在添加第一个复选框,如下所示

    System.Windows.Forms.CheckBox c1 = new System.Windows.Forms.CheckBox();
    c1.CheckState = System.Windows.Forms.CheckState.Unchecked;
    System.Windows.Forms.ToolStripControlHost host = new   
    System.Windows.Forms.ToolStripControlHost(c1);
    toolStrip1.Items.Add(host);

如果我正在运行应用程序,那么我可以通过工具条看到此复选框。一旦我保存了我的表格,一切都丢失了。我什至在我的cs文件中都找不到c1。在designer.cs 文件中有一些带有主机的附加条目。 我在这里缺少什么?如何在工具条中添加这两个复选框?

【问题讨论】:

标签: c# winforms controls toolstrip


【解决方案1】:

首先

从良好的 UI Winforms 实践的角度来看,您应该使用具有 Checked、CheckState 和 CheckOnClick 属性的 ToolStripButton。

关于您的问题

我想你已经在设计器文件中编写了这段代码?这真是个坏主意,因为 IDE 将覆盖此文件中的更改。被隐藏的文件(默认)和警告评论不是白来的!

这种操作应该在代码文件上完成,在调用 InitializeComponent() 之后的表单构造函数 (The New() Sub) 中。

备注 您不会在设计器中看到结果,但会在运行时显示。如果您需要设计师的支持,那就另当别论了!

【讨论】:

  • 我能做到。
  • 有没有办法让 ToolStripButton 看起来像复选框一样工作?选中时,我无法获得与勾号相同的显示。
猜你喜欢
  • 2015-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-07
  • 2015-11-22
  • 2015-08-13
相关资源
最近更新 更多