禁用按钮时是否可以有边框?

时间:2015-02-12 16:10:56

标签: vb.net winforms button

鼠标隐藏在屏幕上,因此用户知道滚动位置的唯一方法是鼠标进入时按钮有边框。 当您单击按钮时,按钮将被禁用,但边框消失

是否有办法让按钮具有边框颜色,即使它被禁用了?

2 个答案:

答案 0 :(得分:0)

我有一种感觉,你正试图解决你应该解决的另一个问题:D为什么隐藏鼠标?

但是,要回答这个问题:你可以为每个按钮存储代码隐藏bool,并在click-handler中检查它们是否为true(如果为false,则返回而不是执行正常的单击操作)。您也可以从代码隐藏,例如将文本颜色更改为灰色或某些东西来模拟禁用按钮。

答案 1 :(得分:0)

如果你不想自定义绘制按钮(这可能是一个选项),你可以将按钮放在Panel内,按钮设置为Dock Fill 1}},并将面板的Padding设置为您想要的边框粗细。

然后你只需要更改面板的BackColor来设置假边框(并使用Panel的位置和大小设置来实际设置按钮)。

如果您打算多次使用它,您可以轻松地让用户控制

样品:

enter image description here

以下是屏幕截图的Designer.cs源代码(更新:我看到问题已标记为vb.net,但Designer.cs文件是使用设计器创建的。 ..你不需要“这个代码,我把它作为参考截图的创建方式”

作为旁注,我同意其余部分:这“通常”是一场用户体验灾难(在禁用按钮上有“活动边框”),但是,我不知道您想要的最终结果,也不知道您的应用程序/要求,所以我只是告诉它可以轻松完成。我并不是暗示应该完成。