【发布时间】:2011-07-27 08:12:16
【问题描述】:
有没有办法禁用组合框的值更改而不会在 Windows 窗体中变灰?我看到了一些帖子,但它们是针对 WPF 的,对我的情况没有帮助。
【问题讨论】:
-
所以你想要一个看起来很正常但用户无法与之交互的组合框?你将如何向用户表明它处于这种不可用状态?
-
这是一个非常糟糕的主意。使组合框变灰是用户知道它被禁用并且他们无法修改它的方式。 看起来启用的组合框,但忽略了用户对其进行编辑的尝试,这简直令人困惑。我会称该接口为 broken。
-
如果用户无法更改,为什么要使用组合框?它应该是一个标签。组合框意味着选择。 (而且客户并不总是正确的 - 有时他们只是缺乏教育,而提供教育可能是您工作的一部分。)
-
嗯,我建议强烈重新考虑这是否是一个好主意的原因是因为它不是很容易实现。您必须对整个控件进行所有者绘制。这是可能的,但由于已经提到的原因,Windows 并不容易。作为程序员,你的工作是向客户解释他们所要求的内容有什么问题。他们可能没有意识到这一点;其他人之前已经为他们处理过这个决定。但是,一旦他们得到原型,他们就会发现要弄清楚框何时可编辑以及何时不可编辑是多么困难。
-
@Cody 同意,但有时当您在问题中添加一些管理 + 客户 + 预算 + 公司时,这实际上是不可能的。在我过去的一次经验中,我们必须实现一个下拉菜单,如果(技术上不是下拉 shoot side),我们必须实现一个水平拍摄,原因是客户正在评估我们的交付能力并且我们正在启动,并且需要做任何事情。
标签: c# .net winforms combobox controls