Reakcja na zawarte przyciski w oknie dialogowym

Cel: Napisz aplikację wykorzystującą okno dialogowe do sterowania warunkiem zakończenia programu

Krok 1. Układ komponentów

Projekt jest bardzo prosty w działaniu i wykonaniu. Będziemy potrzebować dwóch komponentów typu Button. Jeden z nich będzie wywoływać okno dialogowe zamknięcia aplikacji, a drugi będzie zamykać aplikację bezpośrednio po kliknięciu w jego obszarze.

reakcja na przyciski okna dialogowego windows

Krok2. Przypisanie funkcji Close() do klawisza

Ustawiamy odpowiednio treść we właściwości Text obu klawiszy. Jednemu z nich przypisujemy w zdarzeniu Click funkcję zamykającą aplikację

private void Button2_Click(object sender, EventArgs e)
{
this.Close();
}

Krok 3. Wywołujemy okno dialogowe z układem klawiszy YesNo

W zdarzeniu kliknięcia klawisza wprowadzamy kod wywołujący okno dialogowe. Dla okna dialogowego ustawiamy parametry treści komunikatu, tytułu okna, układ klawiszy oraz wybieramy jedna z dostępnych ikon. Jedna z możliwych treści polecenia powinna wyglądać jak poniżej

private void Button1_Click(object sender, EventArgs e)
{
MessageBox.Show("Czy zakończyc aplikację?", "Komunikat", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
}

Po skompilowaniu projektu mamy możliwość wywołania okna dialogowego

możliwość wywołania okna dialogowego

Krok 4. Przypisujemy reakcję na wciśnięcie klawisza Tak lub Nie dla wywołanego okna dialogowego

Dążymy do tego aby po wybraniu w oknie dialogowym klawisza Tak zamknąć aplikację. Odczyt logicznych wartości wybranych klawiszy okna dialogowego uzyskamy poprze zastosowanie klasy DialogResult oraz wyrażenia warunkowego if. Kod funkcji realizującej działanie na wybraną opcję nie jest skomplikowany.

private void Button1_Click(object sender, EventArgs e)
{
DialogResult wynik = MessageBox.Show("Czy zakończyc aplikację?", "Komunikat", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (wynik == DialogResult.Yes) { this.Close(); }
else
{ this.Text = "Rezygnacja z zamknięcia";}
}

Wybranie klawisza Nie skutkuje zmianą tytułu głównego okna aplikacji

Ćwiczenie sprawdzające

Zmodyfikuj tak aplikację, aby po wyborze klawisza Nie okna dialogowego wywołać nowe okno dialogowe, które zwróci treść komunikatu rezygnacji z zamknięci aplikacji

wywołać nowe okno dialogowe

Pełny kod zbudowanej aplikacji

Form1.cs


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace dialog_zamknij
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void Button1_Click(object sender, EventArgs e)
        {
            DialogResult wynik = MessageBox.Show("Czy zakończyc aplikację?", 
                                                 "Komunikat", 
                                                 MessageBoxButtons.YesNo, 
                                                 MessageBoxIcon.Question);
            if (wynik == DialogResult.Yes) { this.Close(); }
            else
              { this.Text = "Rezygnacja z zamknięcia";
                MessageBox.Show("Zrezygnowano z zamknięcia", 
                                "Komunikat", 
                                MessageBoxButtons.OK, 
                                MessageBoxIcon.Information);
              }
        }
    }
}
Alkomat- wirtualny test

Alkomat- darmowa aplikacja na Androida

Pobierz ze sklepu Google Play
Olinowanie stałe- kalkulator średnic

Olinowanie stałe- darmowa aplikacja na Androida

Pobierz ze sklepu Google Play
przepis na gogfry

Przepis na gofry

zobacz
przepis na bitą śmietanę

Przepis na bitą śmietanę

zobacz