Como criar um formulário não modal, mas bloqueando?
Deve parecer estranho, mas isso é apenas para o meu hobby. Eu gostaria que uma caixa de mensagens (personalizada) aparecesse com os botões YesNo, que deveriam idealmente bloquear o código. Mas devo clicar no formulário pai para poder descartar a caixa de mensagem sem precisar clicar especificamente nos botões da caixa de mensagens (equivalente a clicar em Não na caixa de mensagem) ..
algo assim
void Foo()
{
CustomMsgBox.Show("do you really wanna delete?", CustomMsgBox.Buttons.YesNo);
//block the code here, but user should be able to click on form, so that its equivalent to have clicked No;
//if clicked No, return;
//delete.
}
Então, a solução que pensei foi tornar a caixa de mensagem personalizada não modal - para que o usuário possa clicar no formulário, mas não consigo bloquear o código. Como posso fazer iss
Ficaria assim:
void Foo()
{
NonModalMsgBox.Show("do you really wanna delete?", CustomMsgBox.Buttons.YesNo);
//block thread till user clicks on form or messagebox buttons.
//unblock when user clicks.
//if No, return;
//delete.
}
Edit: Eu sei que isso não é uma prática padrão e sei que formas não modais não bloqueiam, enquanto formas modais sim. Portanto, não recomenda se contentar com o comportamento do formulário modal ou do formulário não modal. Minha pergunta seria: existe alguma maneira de simular o comportamento deMenu contextua com formulários do Windows.