0

是否可以在 Visual Studio Windows Forms 应用程序的消息框中添加自定义按钮(或)用户定义的按钮?

4

3 回答 3

2

这是制作自定义对话框的快速指南,在我看来,这将是您在这种情况下的理想解决方案。

于 2013-08-02T14:58:20.400 回答
1

.netMessageBox类不提供此类功能。但是,本机 Win32 API 通过 API 执行此操作TaskDialog。与编写自定义对话框相比,这种方法的主要优点是您将使用本机系统组件,因此您的对话框在平台​​上会有宾至如归的感觉。

任务对话框的一个非常简单的示例如下所示:

在此处输入图像描述

正如上面的链接中所解释的,还有更多复杂性的空间。

您需要 p/invoke 到此功能。这是调用比较混乱的函数之一,所以在你有一个可行的解决方案之前需要做一些工作。你可以在这里找到一些 C# 代码来包装它,但我不能说我个人有这方面的经验。

于 2013-08-02T15:01:40.323 回答
1

简单的答案是:不,不是。

长答案是不可能使用托管 API,但可以使用 Win32 API。这是一个关于使用 Windows Hooks 自定义操作系统消息框对话框的好教程。

于 2013-08-02T14:58:08.383 回答