【问题标题】:How do I create an invisible checkbox that remains clickable?如何创建一个保持可点击的不可见复选框?
【发布时间】:2019-07-08 20:04:32
【问题描述】:

我正在为非常不精通技术的用户在表单中创建一个应用程序。在这样做时,我试图在主程序中隐藏一些更复杂的按钮和菜单,除非选中了一个不可见的复选框——只有 QA/Dev 团队需要使用它来进行故障排除。

我尝试使用 checkBox1.Hide(),然后在单击以及 CheckedChanged 时使用 checkBox1.Show,但是当复选框被隐藏或可见设置为 false 时,无法选中该复选框。我还查看了表单设计中复选框的属性窗口,但在 FlatAppareance 下将边框颜色设置为白色或边框大小设置为 0 无效。

有什么建议吗?感谢您的帮助。

【问题讨论】:

  • 如果我对您的理解正确,您正在尝试使用用户界面元素来更改应用程序的行为和外观。使用其他方法不是更好吗?例如一个配置选项,或者只是一个特定文件或命令行参数的存在?
  • @Steve 我敢肯定有更好的解决方案来启用开发者菜单,但实现它的方法是我无法控制的。我被要求提供一个不可见的按钮/复选框。
  • 也许你应该告诉你的老板或任何要求你这样做的人,这不是这样的方式。例如,拥有一个配置 xml 文件更合适。最后,您是执行此操作的专家,因此您没有理由不告诉谁给您该任务最有效的方法。除此之外,我认为不可能有一个不可见但可点击的按钮。
  • 一个不可见的可点击复选框。听起来很奇怪......无论如何,哈哈,也许这可能会有所帮助:stackoverflow.com/questions/17979781/…
  • @jPhizzle 看起来很有希望,但在 winforms 中,不透明度适用于表单及其所有控件。我不知道如何将特定控件的不透明度设置为 0,同时保持其他控件及其周围的表单可见。

标签: c# winforms checkbox


【解决方案1】:

我同意 cmets 在设计用户界面时这不是一个好的做法,但是有一种方法可以在 winforms 中制作一个不可见的按钮。

在您的构造函数或方法中像这样设置按钮的属性

  button1.FlatStyle = FlatStyle.Flat;
  button1.FlatAppearance.BorderColor = BackColor;
  button1.FlatAppearance.MouseOverBackColor = BackColor;
  button1.FlatAppearance.MouseDownBackColor = BackColor;

这将呈现一个对用户不可见的可点击按钮。也就是说,如果您的点击事件已经设置。

【讨论】:

  • 工作如梦。非常感谢。
猜你喜欢
  • 1970-01-01
  • 2021-07-30
  • 2021-11-30
  • 1970-01-01
  • 2020-05-15
  • 2011-09-11
  • 1970-01-01
  • 1970-01-01
  • 2011-07-02
相关资源
最近更新 更多