Windows Forms umożliwia wizualne tworzenie aplikacji klasycznych, przeciągając elementy interfejsu użytkownika na kanwę. Te elementy interfejsu użytkownika obejmują widżety, takie jak przyciski, panele lub pola wyboru.

Każdy element interfejsu użytkownika otrzymuje określone zdarzenia. Na przykład możesz mieć zdarzenie kliknięcia dla przycisków, zmienione zdarzenie dla pól wyboru lub zdarzenie przeciągania i upuszczania dla paneli.

Zdarzenia używają programów obsługi zdarzeń lub funkcji, które są wykonywane tylko wtedy, gdy wystąpi to konkretne zdarzenie.

Rodzaje zdarzeń używanych dla różnych elementów interfejsu użytkownika

Każdy element interfejsu użytkownika ma listę zdarzeń. Jest wiele kursów, na których możesz poznaj ważne teorie i praktyki UX lub UI aby pomóc Ci zdecydować, jakich elementów interfejsu użytkownika użyć. Oto kilka przykładów zdarzeń wykorzystywanych przez elementy interfejsu użytkownika.

Zdarzenia klawisza w dół, klawisza w górę lub wciśnięcia klawisza

Elementy interfejsu użytkownika, które umożliwiają użytkownikowi wprowadzanie tekstu, takie jak pole tekstowe, mogą używać tych zdarzeń. Zdarzenia te są wyzwalane za każdym razem, gdy użytkownik naciśnie klawisz na klawiaturze.

instagram viewer

Mogą być przydatne w scenariuszach, w których masz funkcję wyszukiwania i może być konieczne ciągłe sprawdzanie wartości pola tekstowego.

prywatnypróżniaTextBox1_KeyUp(nadawca obiektu, KeyEventArgs e)
{
TextBox pole tekstowe = (TextBox) nadawca;
string currentTextBoxValue = pole tekstowe. Tekst;
}

Załaduj zdarzenie

Zdarzenie ładowania występuje, gdy formularz lub element interfejsu użytkownika są renderowane na ekranie. Możesz użyć tego zdarzenia, jeśli chcesz, aby na etapie inicjowania formularza lub kontrolki wystąpiła określona funkcja.

Jednym ze scenariuszy, w których może to być przydatne, jest programowe dodawanie kontrolek do formularza, gdy jest on nadal ładowany.

prywatnypróżniaForm1_Load(nadawca obiektu, EventArgs e)
{
podpowiedź podpowiedź1 = Nowy Podpowiedź();
toolTip1.AutoPopDelay = 5000;
toolTip1.InitialDelay = 1000;
toolTip1.ReshowDelay = 500;
toolTip1.PokażZawsze = PRAWDA;
toolTip1.SetToolTip (ten.przycisk1, "Mój przycisk1");
toolTip1.Wyskakujące okienko += ten.Tip1_Popup;
}

Zdarzenie wyskakujące podpowiedzi ma miejsce, gdy najedziesz kursorem na element interfejsu użytkownika w aplikacji i pojawi się podpowiedź. Argumenty przekazane do programu obsługi zdarzeń umożliwiają dostęp do danych dotyczących podpowiedzi, takich jak tekst lub rozmiar.

prywatnypróżniaToolTip1_Popup(nadawca obiektu, PopupEventArgs e)
{
podpowiedź = nadawca podpowiedzi;
tekst podpowiedzi tekstowej = podpowiedź. Pobierz podpowiedź (przycisk 1);
var rozmiar podpowiedzi = mi. Rozmiar podpowiedzi;
}

Przeciągnij i upuść wydarzenie

Wiele elementów interfejsu użytkownika może używać zdarzenia przeciągania i upuszczania, w tym panel, przycisk, pole obrazu, pole grupy i inne. To zdarzenie jest wyzwalane, gdy użytkownik przeciąga plik do elementu interfejsu użytkownika.

prywatnypróżniapanel1_DragDrop(nadawca obiektu, DragEventArgs e)
{
string[] files = (string[])e. Dane. GetData (formaty danych. Upuść plik, fałszywy);
}

Mysz i opuszczanie zdarzeń myszy

Mysz nad zdarzeniem uruchamia się, gdy wskaźnik myszy znajduje się nad elementem interfejsu użytkownika. Gdy mysz opuści element i przestanie na nim najeżdżać, zostanie wywołane zdarzenie opuszczenia przez mysz.

prywatnypróżniabutton1_MouseLeave(nadawca obiektu, EventArgs e)
{
Przycisk przycisk = (Przycisk) nadawca;
var buttonText = przycisk. Tekst;
}

Sprawdzone Zmienione Wydarzenie

Elementy interfejsu użytkownika, które pozwalają użytkownikowi wybrać opcję, mogą używać zaznaczonego zmienionego zdarzenia. Obejmuje to przyciski radiowe i pola wyboru. Funkcja jest uruchamiana po zaznaczeniu lub odznaczeniu pola wyboru.

prywatnypróżniacheckBox1_CheckedChanged(nadawca obiektu, EventArgs e)
{
CheckBox checkbox = (CheckBox) nadawca;
Stan CheckState = pole wyboru. Sprawdź stan;
bool isChecked = pole wyboru. W kratę;
}

Zmieniono wartość, zmieniono wybraną wartość lub zmieniono datę zdarzenia

Zdarzenie zmiany wartości jest dostępne w elementach interfejsu użytkownika, które umożliwiają wybranie opcji zmiany wartości. Obejmuje to pola kombi, selektory daty i godziny lub kalendarz. Funkcja zostaje uruchomiona, gdy użytkownik wybierze nową wartość.

prywatnypróżniamonthCalendar1_DateChanged(nadawca obiektu, DateRangeEventArgs e)
{
Kalendarz kalendarza miesięcznego = nadawca (kalendarz miesięczny);
var dzisiaj = kalendarz. Dzisiejsza data;
var wybraneDatyRozpoczęcia = np. Początek;
var wybraneDatyKoniec = mi. Koniec;
}

Kliknij przycisk zdarzenia

Funkcja obsługi zdarzeń kliknięcia zostaje wyzwolona po kliknięciu przycisku.

prywatnypróżniabutton1_Click(nadawca obiektu, EventArgs e)
{
Przycisk przycisk = (Przycisk) nadawca;
string textValue = przycisk. Tekst;
}

Struktura obsługi zdarzeń

Programy obsługi zdarzeń mają dwa podstawowe parametry: nadawcę i obiekt zdarzenia.

Nadawca to odwołanie do elementu lub obiektu interfejsu użytkownika, który wyzwolił zdarzenie, takiego jak przycisk, pole wyboru lub panel. Na przykład w przypadku zmiany pola wyboru nadawca będzie polem wyboru, które kliknął użytkownik.

Parametr event zawiera obiekt przechowujący dane o zaistniałym zdarzeniu. Może to obejmować współrzędne X i Y kliknięcia przycisku lub położenie myszy w momencie uruchomienia zdarzenia.

prywatnypróżniapanel1_DragDrop(nadawca obiektu, DragEventArgs e)
{
// Uzyskaj dostęp do właściwości elementu UI, który wywołał zdarzenie
Panel panel = (Panel) nadawca;
płyta. Włączone = fałszywy;
// Dostęp do danych z wydarzenia
var dane zdarzenia = np. Dane;
}

Jak tworzyć i używać programów obsługi zdarzeń

Najpierw utwórz nowy Aplikacja WinForm Forms w Visual Studio. Jeśli jesteś nowy w Windows Forms, jest ich wiele klonuj aplikacje, które możesz tworzyć podczas nauki Windows Forms.

Programy obsługi zdarzeń na kanwie

Programy obsługi zdarzeń można generować z okna właściwości po prawej stronie kanwy. Po utworzeniu nowej aplikacji Windows Forms utwórz procedurę obsługi zdarzeń dla elementu interfejsu użytkownika pola wyboru. Zostanie to wywołane, gdy użytkownik zaznaczy lub usunie zaznaczenie pola wyboru.

  1. Otwórz menu przybornika po lewej stronie programu Visual Studio. Przeciągnij i upuść element interfejsu pola wyboru na kanwę.
  2. Zaznacz pole wyboru na płótnie.
  3. W oknie właściwości w panelu po prawej stronie kliknij ikonę żółtej błyskawicy, aby wyświetlić listę zdarzeń. Przewiń w dół do ZaznaczoneZmienione wydarzenie.
  4. Kliknij puste miejsce obok ZaznaczoneZmienione wydarzenie. To automatycznie wygeneruje nową funkcję do obsługi zdarzenia. Funkcja zostanie utworzona w części kodu aplikacji, w twoim plik .cs.
    prywatnypróżniacheckBox1_CheckedChanged(nadawca obiektu, EventArgs e)
    {
    // Twój kod tutaj
    }

Programy obsługi zdarzeń korzystające z kodu w tle

Utwórz nową funkcję w kodzie i połącz ją z elementem interfejsu użytkownika na kanwie.

  1. Na kanwie kliknij i przeciągnij element interfejsu użytkownika przycisku. Domyślnie nazwa nowego przycisku to „button1”.
  2. otwarty .cs. Jeśli zostawiłeś domyślną nazwę aplikacji Windows Form „Form1”, będzie to Form1.cs.
  3. Wewnątrz klasy Form1 utwórz nową funkcję. Upewnij się, że jest zgodny ze strukturą procedury obsługi zdarzeń i ma dwa parametry dla nadawcy i obiektu zdarzenia.
    prywatnypróżniabutton1_MouseHoverEvent(nadawca obiektu, EventArgs e)
    {
    // Twój kod tutaj
    }
  4. Połącz procedurę obsługi zdarzeń ze zdarzeniem najechania myszą button1. Możesz to zrobić w konstruktorze.
    publiczny Formularz 1()
    {
    InitializeComponent();
    ten.button1.MouseHover += button1_MouseHoverEvent;
    }
  5. Alternatywnie możesz również połączyć funkcję ze zdarzeniem za pomocą okna właściwości na kanwie. Otwórz okno właściwości i wprowadź nazwę obsługi zdarzeń w polu MouseHover. To byłoby button1_MouseHoverEvent.

Jak korzystać z tej samej obsługi zdarzeń w wielu zdarzeniach

Tę samą funkcję można połączyć z wieloma zdarzeniami. W tym przypadku, gdyby była jedna funkcja o nazwie MyszZdarzenie, możesz dodać ten program obsługi zdarzeń zarówno do zdarzenia najechania myszą, jak i kliknięcia myszą. To obsłuży oba zdarzenia przy użyciu tej samej funkcji.

ten.button1.MouseHover += button1_MouseEvent;
ten.button1.MouseClick += button1_MouseEvent;

Korzystanie ze zdarzeń w aplikacji formularza systemu Windows

Aplikacja Windows Forms umożliwia przeciąganie i upuszczanie na kanwę różnych elementów interfejsu użytkownika, takich jak przyciski, panele lub pola tekstowe. Do tych elementów interfejsu użytkownika można dodać programy obsługi zdarzeń na podstawie różnych zdarzeń, które mogą wystąpić w aplikacji.

Jeśli tworzysz aplikację Windows, możesz również dodać obrazy lub grafikę jako część interfejsu użytkownika. Możesz użyć różnych klas C#, takich jak Graphic, Pen lub Color, które pozwolą ci narysować różne typy kształtów na kanwie.