.net – 带有验证和取消按钮的消息框
我怎么能有一个msgbox有两个按钮,验证和取消?
解决方法
不幸的是,标准的Win32
MessageBox function不支持带有自定义标签的按钮.由于VB.NET MsgBox函数是该本机函数的瘦包装,因此它也不支持它们.您可以获得预定义的值,这意味着您可以做的最好的事情就是“确定”和“取消”,文本说明“确定”意味着“继续验证”.
值得注意的是,多年来,这是Windows风格指南所赞同的推荐做法.实际上,它看起来像it still is.具体来说,请注意以下一般规则的例外情况:
Windows Vista引入了一个新的API,旨在取代老化和无法配置的MessageBox – 它被称为 > .NET Framework不包含开箱即用的包装器.您需要编写自己的简单包装器,或者下载包含此类包装器的Windows API Code Pack.但是这会为你的代码增加额外的依赖性 – 你必须决定是否值得. 几代VB程序员使用的另一个选项是打开你自己的小MessageBox风格的表单.布置一个带有图标/图像的位置,一些标题文本和所需的所有按钮的简单表单并不难.由于您已经创建了整个表单,因此您可以根据需要随意自定义代码. 如果您在Vista之前的Windows版本中绝对需要此功能,那么创建自己的消息框表单是您唯一的选择.否则,我强烈建议您利用新的TaskDialog API.在您的应用程序中执行此操作可以提高用户可能已在其计算机上安装的其他应用程序的一致性,甚至可以使用Windows本身.很难确保您自己的自定义消息框表单获得正确的小触摸,例如根据标签文本的长度和用户的屏幕大小自动包装标签文本.并根据对话框是否包含“取消”按钮显示/隐藏标题栏中的“X”关闭按钮.还有一个令人难以置信的其他东西,标准的Windows MessageBox / TaskDialog为您免费提供,而无需抬起手指.这只是对一般原则的重述:当你不是必须这样做时,永远不要重新发明轮子. 一个很好的折衷方案可能是使用类似this (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- slice :: chunks / windows是否有等效的迭代器循环对,三元组
- windows-phone-7 – 使用Windows Phone 7中的WebBrowser类向
- windows – 检查注册表值是否等于1无法正常工作
- IIS5?HTTP500内部错误分析及解决办法
- .net – 在Windows应用商店应用中保存文件
- 2012R2启动gen1 vm上的Hyper-v导致主机冻结
- 为什么Rethinkdb没有windows的二进制文件?
- 远程桌面 – 远程桌面仅适用于旧客户端
- 调用FileHelperEngine构造函数时,在PresentationFramework.
- .net – 如何安装同一Windows服务的多个实例