我有一个模态对话框,需要隐藏Close(X)按钮,但我不能使用ControlBox = false,因为我需要保持Minimize和Maximize按钮.
我需要隐藏关闭按钮,有没有办法做到这一点?
虽然您可以通过将样式添加到窗体的窗口类来禁用关闭按钮,因为这里的答案(以及重复的问题)已经建议,但请认真考虑是否真的需要这样做.CS_NOCLOSE
你仍然需要给用户一些解除模态对话框的方法,可能是对话框本身的按钮.由于其中一个按钮可能是"取消"或等效的,你应该让Close(X)按钮与"取消"做同样的事情.(如果要自定义默认行为或在关闭时执行特殊操作,请处理表单FormClosing或FormClosed事件.)
请注意,对话框的Windows UI准则明确规定您不应禁用"关闭"按钮,因为用户希望看到它并且它给予他们安全感,以便他们可以安全地"退出"屏幕上弹出的任何内容.他们不想要它:
- 对话框始终具有"关闭"按钮.无模式对话框也可以有一个最小化按钮.可调整大小的对话框可以有一个最大化按钮.
- 不要禁用"关闭"按钮.使用"关闭"按钮可以让用户关闭他们不想要的窗口,从而帮助用户保持控制.
- 例外:对于进度对话框,如果任务必须运行至完成以实现有效状态或防止数据丢失,则可以禁用"关闭"按钮.
- 标题栏上的"关闭"按钮应与对话框中的"取消"或"关闭"按钮具有相同的效果.永远不要给它带来与OK相同的效果.
- 如果标题栏标题和图标已经以显眼的方式显示在窗口顶部附近,则可以隐藏标题栏标题和图标以避免冗余.但是,您仍需要在内部设置合适的标题以供Windows使用.
即使使用进度对话框(Microsoft称之为此常规规则的"例外"),通常也非常希望使操作可取消.
| 归档时间: |
|
| 查看次数: |
14075 次 |
| 最近记录: |