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.

questionAnswers(6)

yourAnswerToTheQuestion