Windows Formsin avulla voit luoda työpöytäsovelluksia visuaalisesti vetämällä käyttöliittymäelementtejä kankaalle. Nämä käyttöliittymäelementit sisältävät widgetejä, kuten painikkeita, paneeleja tai valintaruutuja.

Jokainen käyttöliittymäelementti vastaanottaa tiettyjä tapahtumia. Sinulla voi olla esimerkiksi napsautustapahtuma painikkeille, muutettu tapahtuma valintaruuduille tai vedä ja pudota -tapahtuma paneeleille.

Tapahtumat käyttävät tapahtumakäsittelijöitä tai toimintoja, jotka suoritetaan vain, kun kyseinen tapahtuma tapahtuu.

Eri käyttöliittymäelementeissä käytetyt tapahtumatyypit

Jokaisella käyttöliittymäelementillä on luettelo tapahtumista. On monia kursseja, joissa voit oppia tärkeistä UX- tai käyttöliittymäteorioista ja -käytännöistä auttaa sinua päättämään, mitä käyttöliittymäelementtejä haluat käyttää. Tässä on muutamia esimerkkejä käyttöliittymäelementtien käyttämistä tapahtumista.

Näppäin alas-, näppäin ylös- tai näppäinpainallustapahtumat

Käyttöliittymäelementit, joiden avulla käyttäjä voi kirjoittaa tekstiä, kuten tekstiruutu, voivat käyttää näitä tapahtumia. Nämä tapahtumat käynnistyvät aina, kun käyttäjä painaa näppäimistönsä näppäintä.

instagram viewer

Nämä voivat olla hyödyllisiä skenaarioissa, joissa sinulla on hakutoiminto, ja sinun on ehkä tarkistettava jatkuvasti, mikä tekstikentän arvo on.

yksityinenmitätöntextBox1_KeyUp(objektin lähettäjä, KeyEventArgs e)
{
TextBox textbox = (Tekstilaatikko) lähettäjä;
string currentTextBoxValue = tekstilaatikko. Teksti;
}

Lataa tapahtuma

Lataustapahtuma tapahtuu, kun lomake tai käyttöliittymäelementti renderöidään näytöllä. Voit käyttää tätä tapahtumaa, kun haluat tiettyjä toimintoja esiintyvän lomakkeen tai ohjausobjektin alustusvaiheessa.

Yksi skenaario, jossa tämä voi olla hyödyllistä, on, jos haluat lisätä ohjelmallisesti ohjaimia lomakkeeseen sen latautuessa.

yksityinenmitätönForm1_Load(objektin lähettäjä, EventArgs e)
{
ToolTip toolTip1 = Uusi ToolTip();
toolTip1.AutoPopDelay = 5000;
toolTip1.InitialDelay = 1000;
toolTip1.ReshowDelay = 500;
toolTip1.ShowAlways = totta;
toolTip1.SetToolTip (this.button1, "Oma painike 1");
toolTip1.Popup += Tämä.ToolTip1_Popup;
}

Työkaluvihjeen ponnahdusikkuna tapahtuu, kun viet hiiren osoittimen sovelluksen käyttöliittymäelementin päälle, ja työkaluvihje tulee näkyviin. Tapahtumakäsittelijään välitettyjen argumenttien avulla voit käyttää työkaluvihjeen tietoja, kuten sen tekstiä tai kokoa.

yksityinenmitätönTyökaluvinkki1_Ponnahdusikkuna(objektin lähettäjä, PopupEventArgs e)
{
ToolTip tooltip = (ToolTip) lähettäjä;
merkkijono tooltipText = työkaluvihje. GetToolTip (painike1);
var tooltipSize = e. ToolTipSize;
}

Vedä ja pudota -tapahtuma

Monet käyttöliittymäelementit voivat käyttää vedä ja pudota -tapahtumaa, mukaan lukien paneeli, painike, kuvaruutu, ryhmälaatikko ja paljon muuta. Tämä tapahtuma käynnistyy, kun käyttäjä vetää tiedoston käyttöliittymäelementtiin.

yksityinenmitätönpanel1_DragDrop(objektin lähettäjä, DragEventArgs e)
{
merkkijono[] tiedostot = (merkkijono[])e. Data. GetData (DataFormats. FileDrop, väärä);
}

Hiiri päälle ja hiiri poistu -tapahtumat

Hiiri tapahtuman päällä käynnistyy, kun hiiri on käyttöliittymäelementin päällä. Kun hiiri lähtee ja lakkaa liikkumasta elementin päällä, hiiren poistumistapahtuma käynnistyy.

yksityinenmitätönbutton1_MouseLeave(objektin lähettäjä, EventArgs e)
{
Painikepainike = (Painike) lähettäjä;
var buttonText = painike. Teksti;
}

Tarkistettu muutettu tapahtuma

Käyttöliittymäelementit, joiden avulla käyttäjä voi valita vaihtoehdon, voivat käyttää valittua muutettua tapahtumaa. Tämä sisältää valintanapit ja valintaruudut. Toiminto käynnistyy, kun valitset valintaruudun tai poistat sen valinnan.

yksityinenmitätöncheckBox1_CheckedChanged(objektin lähettäjä, EventArgs e)
{
CheckBox-valintaruutu = (CheckBox) lähettäjä;
CheckState state = valintaruutu. CheckState;
bool isChecked = valintaruutu. Tarkistettu;
}

Arvo muutettu, valittu arvo muutettu tai päivämäärä muutettu -tapahtumat

Arvon muutettu tapahtuma on käytettävissä käyttöliittymäelementeissä, joiden avulla voit valita arvon muuttamisvaihtoehdon. Tämä sisältää yhdistelmälaatikot, päivämäärän ja kellonajan valitsimet tai kalenterin. Toiminto käynnistyy, kun käyttäjä valitsee uuden arvon.

yksityinenmitätönmonthCalendar1_DateChanged(objektin lähettäjä, DateRangeEventArgs e)
{
MonthCalendar kalenteri = (MonthCalendar) lähettäjä;
var tänään = kalenteri. TänäänPäiväys;
var valittuPäivämääräAloitus = e. Alkaa;
var valittuPäivämääräLoppu = e. loppu;
}

Napsauta Painiketapahtuma

Napsautustapahtuman käsittelijätoiminto käynnistyy, kun napsautat painiketta.

yksityinenmitätönpainike1_Napsauta(objektin lähettäjä, EventArgs e)
{
Painikepainike = (Painike) lähettäjä;
merkkijono textValue = -painike. Teksti;
}

Tapahtumakäsittelijän rakenne

Tapahtumakäsittelijöillä on kaksi ensisijaista parametria: lähettäjä ja tapahtumaobjekti.

Lähettäjä on viittaus tapahtuman käynnistäneeseen käyttöliittymäelementtiin tai objektiin, kuten painike, valintaruutu tai paneeli. Esimerkiksi valintaruudun muutostapahtumassa lähettäjä olisi valintaruutu, jota käyttäjä napsautti.

Tapahtumaparametri sisältää objektin, joka tallentaa tiedot tapahtuneesta tapahtumasta. Tämä voi sisältää painikkeen napsautuksen X- ja Y-koordinaatit tai hiiren sijainnin tapahtuman käynnistymishetkellä.

yksityinenmitätönpanel1_DragDrop(objektin lähettäjä, DragEventArgs e)
{
// Käytä tapahtuman käynnistäneen käyttöliittymäelementin ominaisuuksia
Paneelipaneeli = (Paneeli) lähettäjä;
paneeli. Käytössä = väärä;
// Pääsy tapahtuman tietoihin
var tapahtumatiedot = e. Data;
}

Tapahtumien käsittelijöiden luominen ja käyttäminen

Luo ensin uusi Winforms Forms -sovellus Visual Studiossa. Jos olet uusi Windows Formsissa, niitä on monia kloonaa sovelluksia, joita voit tehdä opetessasi Windows Formsia.

Tapahtumanohjaajat kankaalla

Voit luoda tapahtumakäsittelijöitä ominaisuusikkunasta kankaan oikealla puolella. Kun olet luonut uuden Windows Forms -sovelluksen, luo tapahtumakäsittelijä valintaruudun käyttöliittymäelementille. Tämä käynnistyy, kun käyttäjä valitsee valintaruudun tai poistaa valinnan.

  1. Avaa Visual Studion vasemmalla puolella oleva työkalupakkivalikko. Vedä ja pudota valintaruudun käyttöliittymäelementti kankaalle.
  2. Korosta valintaruutu kankaalla.
  3. Napsauta oikeanpuoleisen paneelin ominaisuusikkunassa keltaista salamakuvaketta nähdäksesi luettelon tapahtumista. Vieritä alas kohtaan TarkistettuMuutettu tapahtuma.
  4. Napsauta vieressä olevaa tyhjää kohtaa TarkistettuMuutettu tapahtuma. Tämä luo automaattisesti uuden toiminnon käsittelemään tapahtumaa. Toiminto luodaan sovelluksen koodin takana olevaan osaan, sinun .cs-tiedosto.
    yksityinenmitätöncheckBox1_CheckedChanged(objektin lähettäjä, EventArgs e)
    {
    // Koodisi tässä
    }

Tapahtumakäsittelijät käyttävät koodia takana

Luo uusi funktio takana olevaan koodiin ja linkitä se kankaalla olevaan käyttöliittymäelementtiin.

  1. Napsauta ja vedä painikkeen käyttöliittymäelementtiä kankaalla. Oletusarvoisesti uuden painikkeen nimi on "painike1".
  2. Avata .cs. Jos olet jättänyt Windows Form -sovelluksen oletusnimeksi "Form1", tämä olisi Lomake1.cs.
  3. Luo Form1-luokan sisällä uusi funktio. Varmista, että se noudattaa tapahtumakäsittelijän rakennetta ja sisältää kaksi parametria lähettäjälle ja tapahtumaobjektille.
    yksityinenmitätönbutton1_MouseHoverEvent(objektin lähettäjä, EventArgs e)
    {
    // Koodisi tässä
    }
  4. Linkitä tapahtumakäsittelijä painikkeen 1 hiiren osoitintapahtumaan. Voit tehdä tämän rakentajassa.
    julkinen Lomake1()
    {
    InitializeComponent();
    Tämä.button1.MouseHover += button1_MouseHoverEvent;
    }
  5. Vaihtoehtoisesti voit myös linkittää toiminnon tapahtumaan käyttämällä kankaalla olevaa ominaisuusikkunaa. Avaa ominaisuusikkuna ja kirjoita tapahtumakäsittelijän nimi MouseHover-kenttään. Tämä olisi button1_MouseHoverEvent.

Kuinka käyttää samaa tapahtumakäsittelijää useissa tapahtumissa

Voit linkittää saman toiminnon useisiin tapahtumiin. Tässä tapauksessa, jos olisi yksi funktio nimeltä MouseEvent, voit lisätä kyseisen tapahtumakäsittelijän sekä hiiren osoitin- että hiiren napsautustapahtumaan. Tämä käsittelee sitten molemmat tapahtumat käyttämällä samaa toimintoa.

Tämä.button1.MouseHover += button1_MouseEvent;
Tämä.button1.MouseClick += button1_MouseEvent;

Tapahtumien käyttäminen Windows-lomakesovelluksessa

Windows Forms -sovelluksen avulla voit vetää ja pudottaa erilaisia ​​käyttöliittymäelementtejä, kuten painikkeita, paneeleja tai tekstiruutuja kankaalle. Voit lisätä näihin käyttöliittymäelementteihin tapahtumakäsittelijöitä sovelluksen sisällä mahdollisesti tapahtuvien tapahtumien perusteella.

Jos olet rakentamassa Windows-sovellusta, saatat haluta myös lisätä kuvia tai grafiikkaa osaksi käyttöliittymääsi. Voit käyttää erilaisia ​​C#-luokkia, kuten Graphic-, Pen- tai Color-luokkaa, joiden avulla voit piirtää kankaalle erilaisia ​​muotoja.