Por que botões precisa ser pressionado duas vezes para trabalho neste diálogo modal?
-
05-07-2019 - |
Pergunta
Eu tenho esse código C #:
public partial class Continue : Form
{
public Continue(string colourName)
{
InitializeComponent();
lblMessage.Text = String.Format("Do you wish to change the colour to {0}", colourName);
}
private void btnConfirm_Click(object sender, EventArgs e)
{
btnConfirm.DialogResult = DialogResult.OK;
}
private void btnCancel_Click(object sender, EventArgs e)
{
btnCancel.DialogResult = DialogResult.Cancel;
}
}
Ele funciona muito bem, mas quando o diálogo aparece que me obriga a clicar em um botão duas vezes para usá-lo. Alguém tem uma idéia de por que?
Solução
Você precisa this.DialogResult
conjunto em vez de btnxxx.DialogResult
nos manipuladores Clique, ou definir o btnxxx.DialogResult antes dos manipuladores.
DialogResult do formulário é definido como o botão de antes do método Click é executado, então a primeira vez que o evento é executado DialogResult do formulário é deixado em Nenhum, mas a segunda vez que é definido para o (agora-set) do botão de DialogResult .
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow