Czy w Windows Forms jest wbudowane okno dialogowe potwierdzenia?

115

Chciałbym utworzyć proste okno dialogowe potwierdzenia z napisem „Sprawdź informacje i jeśli jesteś pewien, że są poprawne, kliknij OK”.

Czy jest coś takiego wbudowanego?


źródło

Odpowiedzi:

223

Oto przykład. Możesz spróbować czegoś takiego.

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.
}

Możesz też spróbować MessageBoxButtons.OKCancelzamiast MessageBoxButtons.YesNo. To zależy od twoich wymagań.

  1. Jeśli masz .Net Framework 4.6 lub nowszy, spróbuj tego.
MessageBoxResult confirmResult = MessageBox.Show("Are you sure to delete this item ??", "Confirm Delete!!", MessageBoxButton.YesNo);`

if (confirmResult == MessageBoxResult.Yes)
{
   // If 'Yes', do something here.
}
else
{
   // If 'No', do something here.
}
Raaghav
źródło
2
To podejście zadziałało idealnie dla mnie. Miałem przypadek, w którym znajduje się przycisk „reset”, który usuwa dane, a to zapewnia świetną metodę radzenia sobie z tym.
Nicholas Kreidberg
1
W moim przypadku zamiast DialogResult musiałem użyć MessageBoxResult
kamil.ka
MessageBoxButtons.YesNo powinien czytać MessageBoxButton.YesNo, a DialogResult zmienia się w MessageBoxResult dla .NET 4.6.
Ian
17

MessageBox.Show? Możesz określić tytuł, podpis i kilka opcji wyświetlanych przycisków.

Z drugiej strony, jeśli prosisz ludzi o potwierdzenie informacji, prawdopodobnie chcesz pokazać niestandardowe okno dialogowe - które możesz zrobić Form.ShowDialog.

Jon Skeet
źródło
1
Dzięki, przyjrzę się klasie Form.ShowDialog. A tak przy okazji, jak edytowałeś swoje pytanie bez pokazywania wersji?
0

Możesz to zrobić w ten sposób.

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

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

Wynik wygląda mniej więcej tak

Ashutosh Mulik
źródło