Windows Forms vám umožňuje vytvárať desktopové aplikácie vizuálne pretiahnutím prvkov používateľského rozhrania na plátno. Tieto prvky používateľského rozhrania zahŕňajú widgety, ako sú tlačidlá, panely alebo začiarkavacie políčka.

Každý prvok používateľského rozhrania prijíma určité udalosti. Môžete mať napríklad udalosť kliknutia pre tlačidlá, zmenenú udalosť pre začiarkavacie políčka alebo udalosť drag and drop pre panely.

Udalosti používajú obslužné rutiny alebo funkcie, ktoré sa vykonajú iba vtedy, keď nastane konkrétna udalosť.

Typy udalostí používaných pre rôzne prvky používateľského rozhrania

Každý prvok používateľského rozhrania má zoznam udalostí. Existuje veľa kurzov, kde môžete dozvedieť sa o dôležitých teóriách a postupoch UX alebo UI ktoré vám pomôžu rozhodnúť sa, aké prvky používateľského rozhrania použiť. Tu je niekoľko príkladov udalostí používaných prvkami používateľského rozhrania.

Udalosti Key Down, Key Up alebo Key Press

Prvky používateľského rozhrania, ktoré umožňujú používateľovi zadávať text, napríklad textové pole, môžu využívať tieto udalosti. Tieto udalosti sa spúšťajú vždy, keď používateľ stlačí kláves na klávesnici.

instagram viewer

Môžu byť užitočné v situáciách, keď máte funkciu vyhľadávania a možno budete musieť neustále kontrolovať, aká je hodnota textového poľa.

súkromnéneplatnétextBox1_KeyUp(odosielateľ objektu, KeyEventArgs e)
{
TextBox textbox = (TextBox) odosielateľ;
string currentTextBoxValue = textové pole. Text;
}

Načítať udalosť

Udalosť načítania nastane, keď sa formulár alebo prvok používateľského rozhrania vykreslí na obrazovke. Túto udalosť môžete použiť, keď chcete, aby sa vo fáze inicializácie formulára alebo ovládacieho prvku vyskytli špecifické funkcie.

Jeden scenár, kde to môže byť užitočné, je, ak chcete do formulára programovo pridať ovládacie prvky, kým sa stále načítava.

súkromnéneplatnéForm1_Load(odosielateľ objektu, EventArgs e)
{
ToolTip toolTip1 = Nový ToolTip();
toolTip1.AutoPopDelay = 5000;
toolTip1.InitialDelay = 1000;
toolTip1.ReshowDelay = 500;
toolTip1.ShowAlways = pravda;
toolTip1.SetToolTip (this.button1, "Moje tlačidlo 1");
toolTip1.Popup += toto.ToolTip1_Popup;
}

Udalosť kontextového okna s popisom nastane, keď umiestnite kurzor myši na prvok používateľského rozhrania v aplikácii a zobrazí sa popis. Argumenty odovzdané do obsluhy udalosti vám umožňujú prístup k údajom o popise, ako je jeho text alebo veľkosť.

súkromnéneplatnéToolTip1_Popup(odosielateľ objektu, PopupEventArgs e)
{
ToolTip tooltip = (ToolTip) odosielateľ;
string tooltipText = tooltip. GetToolTip (tlačidlo1);
var tooltipSize = e. ToolTipSize;
}

Udalosť drag and drop

Mnoho prvkov používateľského rozhrania môže používať udalosť drag and drop, vrátane panela, tlačidla, obrázkového poľa, skupinového poľa a ďalších. Táto udalosť sa spustí, keď používateľ pretiahne súbor do prvku používateľského rozhrania.

súkromnéneplatnépanel1_DragDrop(odosielateľ objektu, DragEventArgs e)
{
string[] súbory = (string[])e. Údaje. GetData (DataFormats. FileDrop, falošné);
}

Udalosti prejdenia myšou a odchodu myšou

Udalosť presunutia myšou sa spustí, keď myšou prejdete na prvok používateľského rozhrania. Keď myš odíde a prestane sa pohybovať nad prvkom, spustí sa udalosť opustenia myši.

súkromnéneplatnébutton1_MouseLeave(odosielateľ objektu, EventArgs e)
{
Tlačidlo tlačidlo = (tlačidlo) odosielateľ;
var buttonText = tlačidlo. Text;
}

Začiarknuté Zmenená udalosť

Prvky používateľského rozhrania, ktoré umožňujú používateľovi vybrať možnosť, môžu použiť začiarknutú zmenenú udalosť. To zahŕňa prepínače a začiarkavacie políčka. Funkcia sa spustí, keď začiarknete alebo zrušíte začiarknutie políčka.

súkromnéneplatnécheckBox1_CheckedChanged(odosielateľ objektu, EventArgs e)
{
CheckBox checkbox = (CheckBox) odosielateľ;
CheckState state = checkbox. CheckState;
bool isChecked = začiarkavacie políčko. Skontrolované;
}

Udalosti zmenená hodnota, vybratá hodnota zmenená alebo dátum zmeny

Udalosť zmenenej hodnoty je dostupná v prvkoch používateľského rozhrania, ktoré vám umožňujú vybrať možnosť zmeny hodnoty. Patria sem kombinované polia, výber dátumu a času alebo kalendár. Funkcia sa spustí, keď používateľ vyberie novú hodnotu.

súkromnéneplatnémonthCalendar1_DateChanged(odosielateľ objektu, DateRangeEventArgs e)
{
MonthCalendar kalendár = (MonthCalendar) odosielateľ;
var dnes = kalendár. TodayDate;
var selectedDatesStart = e. Štart;
var selectedDatesEnd = e. Koniec;
}

Kliknite na tlačidlo Udalosť

Funkcia obsluhy udalosti kliknutia sa spustí po kliknutí na tlačidlo.

súkromnéneplatnébutton1_Click(odosielateľ objektu, EventArgs e)
{
Tlačidlo tlačidlo = (tlačidlo) odosielateľ;
string textValue = tlačidlo. Text;
}

Štruktúra obsluhy udalostí

Obsluha udalostí má dva primárne parametre: odosielateľa a objekt udalosti.

Odosielateľ je odkaz na prvok používateľského rozhrania alebo objekt, ktorý spustil udalosť, ako napríklad tlačidlo, začiarkavacie políčko alebo panel. Napríklad pri zmene začiarkavacieho políčka bude odosielateľ začiarkavacie políčko, na ktoré používateľ klikol.

Parameter udalosti obsahuje objekt, ktorý ukladá údaje o udalosti, ktorá nastala. Môže to zahŕňať súradnice X a Y kliknutia na tlačidlo alebo umiestnenie myši v momente spustenia udalosti.

súkromnéneplatnépanel1_DragDrop(odosielateľ objektu, DragEventArgs e)
{
// Prístup k vlastnostiam prvku používateľského rozhrania, ktorý spustil udalosť
Panel panelu = (Panel) odosielateľ;
panel. Povolené = falošné;
// Prístup k údajom z udalosti
var eventData = e. údaje;
}

Ako vytvoriť a používať obslužné programy udalostí

Najprv vytvorte nový Aplikácia Winforms Forms vo Visual Studiu. Ak ste novým formulárom Windows, je ich veľa klonovať aplikácie, ktoré môžete vytvoriť pri učení Windows Forms.

Obslužné programy udalostí na plátne

Obslužné nástroje udalostí môžete vygenerovať z okna vlastností na pravej strane plátna. Po vytvorení novej aplikácie Windows Forms vytvorte obsluhu udalosti pre prvok používateľského rozhrania zaškrtávacieho políčka. Toto sa spustí, keď používateľ začiarkne alebo zruší začiarknutie políčka.

  1. Otvorte ponuku panela nástrojov naľavo od Visual Studia. Presuňte začiarkavacie políčko prvku používateľského rozhrania na plátno.
  2. Zvýraznite začiarkavacie políčko na plátne.
  3. V okne vlastností na pravom paneli kliknutím na ikonu žltého blesku zobrazíte zoznam udalostí. Prejdite nadol na SkontrolovanéZmenené udalosť.
  4. Kliknite na prázdne miesto vedľa SkontrolovanéZmenené udalosť. Tým sa automaticky vygeneruje nová funkcia na spracovanie udalosti. Funkcia sa vytvorí v kódovej časti aplikácie, vo vašej súbor .cs.
    súkromnéneplatnécheckBox1_CheckedChanged(odosielateľ objektu, EventArgs e)
    {
    // Tu je váš kód
    }

Obslužné programy udalostí používajúce kód na pozadí

Vytvorte novú funkciu v kóde a prepojte ju s prvkom používateľského rozhrania na plátne.

  1. Na plátne kliknite a potiahnite prvok používateľského rozhrania tlačidla. V predvolenom nastavení bude názov nového tlačidla „tlačidlo1“.
  2. OTVORENÉ .cs Ak ste ponechali predvolený názov aplikácie Windows Form "Form1", bude to tak Form1.cs.
  3. Vo vnútri triedy Form1 vytvorte novú funkciu. Uistite sa, že zodpovedá štruktúre obsluhy udalosti a má dva parametre pre odosielateľa a objekt udalosti.
    súkromnéneplatnébutton1_MouseHoverEvent(odosielateľ objektu, EventArgs e)
    {
    // Tu je váš kód
    }
  4. Prepojte obsluhu udalosti s udalosťou po umiestnení kurzora myši na tlačidlo button1. Môžete to urobiť v konštruktore.
    verejnosti Form1()
    {
    InitializeComponent();
    toto.button1.MouseHover += button1_MouseHoverEvent;
    }
  5. Alternatívne môžete tiež prepojiť funkciu s udalosťou pomocou okna vlastností na plátne. Otvorte okno vlastností a do poľa MouseHover zadajte názov vašej obsluhy udalosti. Toto by bolo button1_MouseHoverEvent.

Ako používať rovnaký obslužný program pre viaceré udalosti

Rovnakú funkciu môžete prepojiť s viacerými udalosťami. V tomto prípade, ak by bola volaná jedna funkcia MouseEvent, môžete pridať tento obslužný program udalosti k udalosti po prejdení myšou aj kliknutí myšou. To potom spracuje obe udalosti pomocou rovnakej funkcie.

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

Používanie udalostí v aplikácii Windows Form Application

Aplikácia Windows Forms vám umožňuje presúvať rôzne prvky používateľského rozhrania, ako sú tlačidlá, panely alebo textové polia, na plátno. Do týchto prvkov používateľského rozhrania môžete pridať obslužné nástroje udalostí na základe rôznych udalostí, ktoré sa môžu vyskytnúť v rámci aplikácie.

Ak vytvárate aplikáciu pre Windows, možno budete chcieť pridať obrázky alebo grafiku ako súčasť používateľského rozhrania. Môžete použiť rôzne triedy C#, ako napríklad triedu Graphic, Pen alebo Color, ktoré vám umožnia kresliť na plátno rôzne typy tvarov.