当前位置 : 主页 > 编程语言 > c语言 >

.net – 在MessageBox / DialogBox上添加单选按钮

来源:互联网 收集:自由互联 发布时间:2021-06-24
是否可以在msgbox /对话框消息上添加单选按钮,而无需创建如下表单: MessageBox.Show("Select Option", "Test", MessageBoxButtons.YesNo, MessageBoxIcon.Question) 我想要实现的是,使用Yes / No Buttons,我可以在消
是否可以在msgbox /对话框消息上添加单选按钮,而无需创建如下表单:

MessageBox.Show("Select Option", "Test", MessageBoxButtons.YesNo, MessageBoxIcon.Question)

我想要实现的是,使用Yes / No Buttons,我可以在消息的上半部分添加一个单选按钮,而无需创建新的winform / userform.

如果这是可以实现的,请告诉我,如果是这样,请给我任何可能有助于实现这些内容的好参考.

正如所建议的那样,简单的解决方案是创建自己的表单并使用ShowModal方法显示它.它将像MessageBox一样工作,但您可以在其上放置任何您想要的控件.

你似乎并不满意.事实上,有一种方法可以使用消息框来完成此操作,但它太复杂了.它涉及安装一个钩子,它将在显示消息框时触发,然后编写一堆代码,动态添加控件并操纵消息框的布局.必须使用一堆P / Invoke来完成,因为消息框是本机Win32对话框,而不是Windows窗体.包装类没有任何帮助.真的不值得.消息框不是可扩展的.

请考虑使用Task Dialog.这几乎就是他们的设计目标.您可以使用一系列命令按钮来描述可用的选项,而不是单选按钮.这是一个更好的用户界面,因为只需要单击一下就可以做出选择,而不是两次.它看起来像这样:

“你想保存你的工作吗?”被称为主要指令,应该保持很短.然后在它下面有一条补充说明,如果用户想要阅读它,它会提供更多细节.最后,您将获得一系列命令链接,其中包含用户单击它们时将发生的情况的简要详细说明.在这种情况下,“保存工作”和“不保存”.

(这个例子是对任务对话框的愚蠢使用.你应该使用常规的旧按钮来保存/不保存.但这是我在Google图像上找到的最好的例子.)

如果需要,您实际上可以将单选按钮放入任务对话框:

实际上,正如该图像所示,您可以将任何您想要的任何内容放入任务对话框中.它非常可定制.这是它在古老的MessageBox API上提供的重大改进.

任务对话框API都有一个.NET包装器,可用于here.

网友评论