Come modificare di TaskDialog Visualizza call () di essere il blocco e restituire un valore quando è chiuso?
-
26-09-2019 - |
Domanda
sto usando implementazione TaskDialog del WindowsAPICodePack, ma mi bug che devo ascoltare cliccare gestori sui suoi pulsanti anche per le implementazioni più semplici. Mi piacerebbe convertire / avvolgerlo in modo che come il vecchio MessageBox si blocca fino a quando chiuso e quindi restituisce un valore in base a ciò che è stato fatto. C'è qualcosa che posso leggere per le basi su come fare questo? Ho solo ho idea da dove cominciare, anche, come lo sono io certamente non che la familiarità con le basi Win32.
Soluzione
Nel caso in cui aiuta qualcuno, dopo un po 'la lettura ho capito che la Mostra chiamata sta bloccando già. Al fine di restituire un valore, ho implementato un ExtendedTaskDialog<T>
classe di base che contiene una TaskDialog
e contiene un metodo Show(Window)
aiuto per assegnare il genitore del TaskDialog, e un metodo di public T Show(Window)
astratto. dialoghi reali derivano da questo, e derivano proprio enum di fornire il tipo di base, come MyDialog : ExtendedTaskDialog<MyDialogResult>
. Poi, internamente, pulsanti di MyDialog
click gestori di impostare il risultato prima di chiamare il metodo Close
del l'TaskDialog
interno.