如何修改TaskDialog的Show()调用以阻塞并在关闭时返回一个值?

时间:2010-05-12 22:44:10

标签: c# windows-7 taskdialog

我正在使用WindowsAPICodePack的TaskDialog实现,但它让我觉得我必须在其按钮上听取点击处理程序,即使是更基本的实现。我想转换/包装它,以便像旧的MessageBox一样阻塞直到关闭,然后根据所做的事情返回一个值。有什么我可以阅读的基本知识如何做到这一点?我只是不知道从哪里开始,因为我无法熟悉Win32的基础。

1 个答案:

答案 0 :(得分:0)

如果有人帮忙,经过一些阅读后我发现Show show已经被阻止了。为了返回一个值,我实现了一个基类ExtendedTaskDialog<T>,它包含一个TaskDialog并包含一个帮助器Show(Window)方法,以便分配TaskDialog的父级和一个抽象{{1} } 方法。实际对话框派生自此,并派生自己的枚举作为基本类型提供,如public T Show(Window)。然后,在内部,MyDialog : ExtendedTaskDialog<MyDialogResult>的按钮'点击处理程序设置结果,然后调用内部MyDialog的{​​{1}}方法。