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?

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

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.


1
Dzięki, przyjrzę się klasie Form.ShowDialog. A tak przy okazji, jak edytowałeś swoje pytanie bez pokazywania wersji?

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.