C# 如何修改TaskDialog';s Show()调用被阻止并在关闭时返回值?

C# 如何修改TaskDialog';s Show()调用被阻止并在关闭时返回值?,c#,windows-7,taskdialog,C#,Windows 7,Taskdialog,我使用的是WindowsAPICodePack的TaskDialog实现,但它让我感到很不舒服,我甚至不得不听按钮上的点击处理程序来实现更基本的实现。我想转换/包装它,使它像旧的MessageBox一样阻塞,直到关闭,然后根据完成的操作返回一个值。关于如何做到这一点,有什么我可以阅读的基础知识吗?我甚至不知道从哪里开始,因为我承认我对Win32的基础不太熟悉。如果它对某人有帮助,在阅读了一些内容后,我发现Show call已经被阻塞了。为了返回一个值,我实现了一个基类ExtendedTaskDi

我使用的是WindowsAPICodePack的TaskDialog实现,但它让我感到很不舒服,我甚至不得不听按钮上的点击处理程序来实现更基本的实现。我想转换/包装它,使它像旧的MessageBox一样阻塞,直到关闭,然后根据完成的操作返回一个值。关于如何做到这一点,有什么我可以阅读的基础知识吗?我甚至不知道从哪里开始,因为我承认我对Win32的基础不太熟悉。

如果它对某人有帮助,在阅读了一些内容后,我发现Show call已经被阻塞了。为了返回一个值,我实现了一个基类
ExtendedTaskDialog
,它包含一个
TaskDialog
,并包含一个助手
Show(Window)
方法,以便分配TaskDialog的父对象,以及一个抽象
public T Show(Window)
方法。实际对话框由此派生,并派生它们自己的枚举作为基本类型提供,如
MyDialog:ExtendedTaskDialog
。然后,在内部,
MyDialog
的按钮在调用内部
任务对话框的
Close
方法之前,单击处理程序设置结果