TaskDialog 作为模态对话框

TaskDialog as modal Dialog

我正在使用 TaskDialog,它非常好,我喜欢它而不是普通的消息框。但是我注意到 TaskDialog 的 Show() 允许用户返回表单并做一些事情......我的意思是它不会阻止表单,直到用户关闭 TaskDialog 单击 OK 或其他。我检查了一下,但找不到 Show - ShowDialog,它会阻塞直到 TaskDialog 关闭。有办法实现吗?

例如代码:

 Dim dialog As New TaskDialog()
        AddHandler dialog.Opened, AddressOf taskDialog_Opened
        With dialog
            dialog.Text = "Hello Task Dialog"
            dialog.Caption = "Hello Task Dialog"
            dialog.Show()       
        End With

您要查找的关于屏蔽的术语是 modal。如果您使用 OwnerWindowHandle 属性,您可以将其设置为模态形式:

Using td As New TaskDialog
    td.Caption = "Some Error "
    td.StandardButtons = TaskDialogStandardButtons.Ok
    td.Text = "Something truly horrible has happened!"
    td.OwnerWindowHandle = Me.Handle    ' current form handle
    td.Show()
End Using

如果您的应用显示了多个表单,则只会阻止该所有者访问。还要注意使用 Using 块来处理它并在完成后释放资源。