Como modificar a chamada Show () do TaskDialog () para estar bloqueando e retornar um valor quando fechado?

StackOverflow https://stackoverflow.com/questions/2823286

  •  26-09-2019
  •  | 
  •  

Pergunta

Estou usando a implementação TaskDialog do WindowsApicodePack, mas isso me incomoda que tenho que ouvir os manipuladores de cliques em seus botões até mesmo para as implementações mais básicas. Eu gostaria de converter/embrulhá -lo para que, como a antiga caixa de mensagem, ele bloqueie até fechar e depois retorne um valor com base no que foi feito. Há algo que eu possa ler para o básico sobre como fazer isso? Só não tenho idéia de por onde começar, pois não estou tão familiarizado com os fundamentos do Win32.

Foi útil?

Solução

Caso isso ajude alguém, depois de uma leitura, descobri que a chamada do show já está bloqueando. Para retornar um valor, implementei uma classe base ExtendedTaskDialog<T> que contém a TaskDialog e contém um ajudante Show(Window) método para atribuir os pais do TaskDialog e um abstrato public T Show(Window) método. Diálogos reais derivam disso e derivam sua própria enumeração para fornecer como o tipo de base, como MyDialog : ExtendedTaskDialog<MyDialogResult>. Então, internamente, MyDialogOs manipuladores de cliques de Buttons '' s Defina o resultado antes de ligar para o Close método do interno TaskDialog.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top