Windows Forms vam omogoča vizualno ustvarjanje namiznih aplikacij, tako da povlečete elemente uporabniškega vmesnika na platno. Ti elementi uporabniškega vmesnika vključujejo pripomočke, kot so gumbi, plošče ali potrditvena polja.

Vsak element uporabniškega vmesnika prejme določene dogodke. Imate lahko na primer dogodek klika za gumbe, spremenjen dogodek za potrditvena polja ali dogodek povleci in spusti za plošče.

Dogodki uporabljajo upravljalnike dogodkov ali funkcije, ki se izvajajo le, ko se zgodi določen dogodek.

Vrste dogodkov, ki se uporabljajo za različne elemente uporabniškega vmesnika

Vsak element uporabniškega vmesnika ima seznam dogodkov. Obstaja veliko tečajev, kjer lahko spoznati pomembne teorije in prakse UX ali uporabniškega vmesnika za pomoč pri odločitvi, katere elemente uporabniškega vmesnika boste uporabili. Tukaj je nekaj primerov dogodkov, ki jih uporabljajo elementi uporabniškega vmesnika.

Dogodki s tipko navzdol, tipko gor ali s pritiskom na tipko

Elementi uporabniškega vmesnika, ki uporabniku omogočajo vnos besedila, kot je besedilno polje, lahko uporabljajo te dogodke. Ti dogodki se sprožijo vsakič, ko uporabnik pritisne tipko na tipkovnici.

Ti so lahko uporabni v scenarijih, kjer imate funkcijo iskanja, in morda boste morali nenehno preverjati, kakšna je vrednost polja z besedilom.

zasebniničnatextBox1_KeyUp(pošiljatelj predmeta, KeyEventArgs e)
{
TextBox textbox = (TextBox) pošiljatelj;
niz currentTextBoxValue = besedilno polje. Besedilo;
}

Naloži dogodek

Dogodek nalaganja se pojavi, ko je obrazec ali element uporabniškega vmesnika upodobljen na zaslonu. Ta dogodek lahko uporabite, če želite, da se posebna funkcionalnost pojavi v fazi inicializacije obrazca ali kontrolnika.

Eden od scenarijev, kjer je to lahko koristno, je, če želite obrazcu programsko dodati kontrolnike, medtem ko se še nalaga.

zasebniničnaForm1_Load(pošiljatelj predmeta, EventArgs e)
{
ToolTip toolTip1 = novo Orodje ();
toolTip1.AutoPopDelay = 5000;
toolTip1.InitialDelay = 1000;
toolTip1.ReshowDelay = 500;
toolTip1.ShowAlways = prav;
toolTip1.SetToolTip (ta.button1, "Moj gumb 1");
toolTip1.Popup += to.ToolTip1_Popup;
}

Dogodek pojavnega okna z opisom orodja se zgodi, ko premaknete miškin kazalec nad element uporabniškega vmesnika v aplikaciji in prikaže se opis orodja. Argumenti, posredovani v obdelovalec dogodkov, vam omogočajo dostop do podatkov o opisu orodja, kot je njegovo besedilo ali velikost.

zasebniničnaToolTip1_Popup(pošiljatelj predmeta, PopupEventArgs e)
{
Tooltip tooltip = (ToolTip) pošiljatelj;
niz tooltipText = opis orodja. GetToolTip (gumb1);
var TooltipSize = e. ToolTipSize;
}

Dogodek povleci in spusti

Številni elementi uporabniškega vmesnika lahko uporabljajo dogodek povleci in spusti, vključno s ploščo, gumbom, slikovnim poljem, poljem skupine in drugim. Ta dogodek se sproži, ko uporabnik povleče datoteko v element uporabniškega vmesnika.

zasebniničnapanel1_DragDrop(pošiljatelj predmeta, DragEventArgs e)
{
string[] datoteke = (string[])e. Podatki. GetData (DataFormats. FileDrop, napačno);
}

Dogodka z miško in zapustitev

Dogodek z miško se sproži, ko se miška premakne nad element uporabniškega vmesnika. Ko miška zapusti in preneha lebdeti nad elementom, se sproži dogodek zapustitve miške.

zasebniničnabutton1_MouseLeave(pošiljatelj predmeta, EventArgs e)
{
Gumb gumba = (gumb) pošiljatelj;
var buttonText = gumb. Besedilo;
}

Preverjeno Spremenjen dogodek

Elementi uporabniškega vmesnika, ki uporabniku omogočajo izbiro možnosti, lahko uporabijo označen spremenjen dogodek. To vključuje izbirne gumbe in potrditvena polja. Funkcija se sproži, ko potrdite ali počistite potrditveno polje.

zasebniničnacheckBox1_CheckedChanged(pošiljatelj predmeta, EventArgs e)
{
Potrditveno polje potrditveno polje = (CheckBox) pošiljatelj;
CheckState stanje = potrditveno polje. CheckState;
bool isChecked = potrditveno polje. Preverjeno;
}

Spremenjena vrednost, Spremenjena izbrana vrednost ali Dogodki spremenjenega datuma

Dogodek spremenjene vrednosti je na voljo v elementih uporabniškega vmesnika, ki vam omogočajo izbiro možnosti za spremembo vrednosti. To vključuje kombinirana polja, izbirnike datuma in časa ali koledar. Funkcija se sproži, ko uporabnik izbere novo vrednost.

zasebniničnamonthCalendar1_DateChanged(pošiljatelj predmeta, DateRangeEventArgs e)
{
Mesečni koledar = (MonthCalendar) pošiljatelj;
var danes = koledar. Današnji datum;
var izbrani datumi Začetek = e. Start;
var izbrani datumiKonec = e. Konec;
}

Kliknite gumb Dogodek

Funkcija za obravnavo dogodkov klika se sproži, ko kliknete gumb.

zasebniničnagumb1_Klik(pošiljatelj predmeta, EventArgs e)
{
Gumb gumba = (gumb) pošiljatelj;
niz textValue = gumb. Besedilo;
}

Struktura upravljalnika dogodkov

Upravljavci dogodkov imajo dva glavna parametra: pošiljatelja in objekt dogodka.

Pošiljatelj je sklic na element uporabniškega vmesnika ali predmet, ki je sprožil dogodek, kot je gumb, potrditveno polje ali plošča. V primeru spremenjenega potrditvenega polja bi bil pošiljatelj na primer potrditveno polje, ki ga je uporabnik kliknil.

Parameter dogodka vsebuje objekt, ki shranjuje podatke o dogodku, ki se je zgodil. To lahko vključuje koordinate X in Y klika gumba ali lokacijo miške v trenutku, ko se dogodek sproži.

zasebniničnapanel1_DragDrop(pošiljatelj predmeta, DragEventArgs e)
{
// Dostop do lastnosti elementa uporabniškega vmesnika, ki je sprožil dogodek
Panel panel = (Panel) pošiljatelj;
ploščo. Omogočeno = napačno;
// Dostop do podatkov iz dogodka
var eventData = e. Podatki;
}

Kako ustvariti in uporabljati upravljalnike dogodkov

Najprej ustvarite novo Aplikacija Winforms Forms v Visual Studio. Če ste novi v sistemu Windows Forms, jih je veliko klonirajte aplikacije, ki jih lahko izdelate med učenjem Windows Forms.

Upravljavci dogodkov na platnu

Upravljalce dogodkov lahko ustvarite iz okna lastnosti na desni strani platna. Ko ustvarite novo aplikacijo Windows Forms, ustvarite upravljalnik dogodkov za element uporabniškega vmesnika potrditvenega polja. To se bo sprožilo, ko uporabnik potrdi ali počisti potrditveno polje.

  1. Odprite meni orodjarne na levi strani Visual Studio. Povlecite in spustite element uporabniškega vmesnika potrditvenega polja na platno.
  2. Označite potrditveno polje na platnu.
  3. V oknu lastnosti na desni plošči kliknite ikono rumene strele, da si ogledate seznam dogodkov. Pomaknite se navzdol do Preverjeno Spremenjeno dogodek.
  4. Kliknite na prazen prostor poleg Preverjeno Spremenjeno dogodek. To bo samodejno ustvarilo novo funkcijo za obravnavo dogodka. Funkcija bo ustvarjena v delu za kodo aplikacije, v vašem .cs datoteka.
    zasebniničnacheckBox1_CheckedChanged(pošiljatelj predmeta, EventArgs e)
    {
    // Vaša koda tukaj
    }

Upravljavci dogodkov, ki uporabljajo kodo zadaj

Ustvarite novo funkcijo v kodi zadaj in jo povežite z elementom uporabniškega vmesnika na platnu.

  1. Na platnu kliknite in povlecite element uporabniškega vmesnika gumba. Privzeto bo ime novega gumba "button1".
  2. Odprto .cs Če ste pustili privzeto ime aplikacije Windows Form "Form1", bi bilo to Obrazec1.cs.
  3. Znotraj razreda Form1 ustvarite novo funkcijo. Prepričajte se, da sledi strukturi obdelovalca dogodkov in ima dva parametra za pošiljatelja in objekt dogodka.
    zasebniničnabutton1_MouseHoverEvent(pošiljatelj predmeta, EventArgs e)
    {
    // Vaša koda tukaj
    }
  4. Povežite upravljalnik dogodkov z dogodkom premikanja miške gumba1. To lahko storite v konstruktorju.
    javnosti obrazec1()
    {
    InitializeComponent();
    to.button1.MouseHover += button1_MouseHoverEvent;
    }
  5. Druga možnost je, da funkcijo povežete z dogodkom z uporabo okna lastnosti na platnu. Odprite okno z lastnostmi in v polje MouseHover vnesite ime svojega obdelovalca dogodkov. To bi bilo button1_MouseHoverEvent.

Kako uporabljati isti upravljalnik dogodkov v več dogodkih

Enako funkcijo lahko povežete z več dogodki. V tem primeru, če je bila poklicana ena sama funkcija MouseEvent, lahko dodate ta obdelovalec dogodkov tako dogodku premikanja miške kot dogodka klika miške. To bo nato obravnavalo oba dogodka z isto funkcijo.

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

Uporaba dogodkov v aplikaciji Windows Form

Aplikacija Windows Forms vam omogoča, da povlečete in spustite različne elemente uporabniškega vmesnika, kot so gumbi, plošče ali besedilna polja, na platno. Tem elementom uporabniškega vmesnika lahko dodate upravljalnike dogodkov na podlagi različnih dogodkov, ki se lahko zgodijo v aplikaciji.

Če gradite aplikacijo Windows, boste morda želeli dodati tudi slike ali grafiko kot del svojega uporabniškega vmesnika. Uporabite lahko različne razrede C#, kot so Graphic, Pen ali Color, ki vam bodo omogočili risanje različnih vrst oblik na platno.