是否可以在msgbox /对话框消息上添加单选按钮,而无需创建如下表单: MessageBox.Show("Select Option", "Test", MessageBoxButtons.YesNo, MessageBoxIcon.Question) 我想要实现的是,使用Yes / No Buttons,我可以在消
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.