Fórum Confirmação de mensagem com MessageBox.Show() #14080
14/01/2010
Oi!
Estou desenvolvendo uma aplicação Windows Forms e gostaria de enviar uma pergunta para o usuário se ele deseja confirmar ou não determinada alteração. Sei que existe a possibilidade de fazer isso usando o MessageBox.Show() onde o resultado é o DialogResult.
Porém, gostaria de exibir para ele os botões Sim ou Não e, quando ele apertasse a tecla 5 do teclado, o MessageBox.Show() entendesse como Sim, e qualquer outra tecla ele entendesse como Não.
Até o momento só é possível fazer comparação do método Show com o próprio DialogResult na instrução do if.
Vocês sabem como eu poderia proceder para solucionar esse meu problema?
Posts
Carlos,
Não tem como fazer isto!
A não ser que você construa um Form para isto, a ao invés de usar o Message.Box, você usa este Form que você fez.
O Messagebox é um componente do Windows e assume as caracteristicas do windows, inclusive os botões de confirmação, o idioma vem de acordo com a versão do Windows.
ps: Qual a real funcionalidade disto?
Abraços
Att
Luiz Maia
15/01/2010
Carlos Nogueira
Bom dia Luiz! Tudo bem?
Então, o que ocorre é o seguinte. É o desenvolvimento de uma aplicação mobile e os usuários que irão utilizar a aplicação podem iniciar uma nova coleta de dados. Só que o que foi apresentado pelo cliente é que, as vezes muitos destes usuários esbarram na tela do coletor e apertam os botões na tela sem querer.
Para evitar algum transtorno relacionado a isso pelo manuseio do usuário, foi solicitado para que, caso ele esbarre no botão que precise dessa confirmação, que a confirmação seja feita por alguma tecla do teclado (por exemplo a tecla 5).
Minhas experiências anteriores em aplicações desse estilo, sempre utilizei o botão Sim/Não (infelizmente no coletor está aparecendo Yes/No mas é por causa da linguagem do sistema operacional), essa é a primeira vez que tenho esse tipo de solicitação.
Pensei inicialmente o mesmo que você, criar um form só para isso ou ter que fazer um user control. É que decidi postar essa mensagem para verificar uma maneira mais simples de fazer isso no formulário e ganhar tempo (infelizmente não estou com isso ao meu favor). Provavelmente se usar um form, vou ter os 2 botões para ele selecionar, e quando ele selecionar um, acredito que devo armazenar em uma propriedade do form, para poder obter o resultado dessa propriedade de quem o chamou, certo?
Fico no aguardo, até mais!
Sim Carlos, isto mesmo.
Faça um Modal mais genérico, do qual podera passar por parametro inclusive os textos dos botões, e ambos retornaram sempre True ou False, assim vc tera o mesmo comportamento do Confirm e ainda poderá customizar da maneira que achar melhor, incluindo as HotKeys.
Abraços
Att
Luiz Maia