Existe uma caixa de diálogo de confirmação embutida no Windows Forms?

114

Gostaria de criar uma caixa de diálogo de confirmação simples dizendo "Por favor, verifique as informações e, se tiver certeza de que estão corretas, clique em OK".

Existe algo embutido assim?


fonte

Respostas:

220

Aqui está um exemplo. Você pode tentar algo assim.

var confirmResult =  MessageBox.Show("Are you sure to delete this item ??",
                                     "Confirm Delete!!",
                                     MessageBoxButtons.YesNo);
if (confirmResult == DialogResult.Yes)
{
    // If 'Yes', do something here.
}
else
{
    // If 'No', do something here.
}

Você também pode tentar em MessageBoxButtons.OKCancelvez de MessageBoxButtons.YesNo. Depende dos seus requisitos.

Raaghav
fonte
2
Essa abordagem funcionou perfeitamente para mim. Tive um caso em que havia um botão "reset" que exclui dados e isso fornece um ótimo método para lidar com isso.
Nicholas Kreidberg
1
No meu caso, em vez de DialogResult, tive que usar MessageBoxResult
kamil.ka
MessageBoxButtons.YesNo deve ler MessageBoxButton.YesNo, e DialogResult muda para MessageBoxResult para .NET 4.6.
Ian
17

MessageBox.Show? Você pode especificar o título, a legenda e algumas opções para os botões a serem exibidos.

Por outro lado, se você está pedindo às pessoas para confirmar as informações, parece que você provavelmente deseja mostrar uma caixa de diálogo personalizada - com a qual você pode fazer isso Form.ShowDialog.

Jon Skeet
fonte
1
Obrigado, vou dar uma olhada na classe Form.ShowDialog. BTW, como você editou sua pergunta sem mostrar a revisão?
0

Você pode fazer assim.

DialogResult = MessageBox.Show("Are you sure to delete ?", "Confirm", MessageBoxButtons.YesNo);

if (DialogResult == DialogResult.Yes)
{
    //Do Your Work here            
}

O resultado é mais ou menos assim

Ashutosh Mulik
fonte