1

私はTaskDialogを使用していますが、それは本当に素晴らしく、通常のメッセージボックスの代わりに気に入っています。ただし、TaskDialog の Show() を使用すると、ユーザーがフォームに戻って何かを実行できることに気付きました...つまり、ユーザーが TaskDialog を閉じて [OK] などをクリックするまでフォームをブロックしないということです。TaskDialog が閉じるまでブロックする Show - ShowDialog の代わりに、チェックしたところ見つかりませんでした。それを達成する方法はありますか?

例:

 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
4

1 に答える 1

1

ブロッキングに関してお探しの用語は です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ブロックを使用してそれを破棄し、完了したらリソースを解放することにも注意してください。

于 2015-10-21T18:01:42.413 に答える