Išplėstinių Winformų programavimas C # programoje

Šiame C # programavimo vadove aš susitelksiu į sudėtingesnius valdiklius, tokius kaip „ComboBoxes“, „Grid“ ir „ListViews“, ir parodysiu, kaip greičiausiai juos naudosite. Neliesiu duomenų ir neįpareigoju iki vėlesnės instrukcijos. Pradėkime nuo paprasto valdiklio - „ComboBox“.

Kombo širdyje yra daiktų kolekcija, o paprasčiausias būdas tai užpildyti yra mesti kombi ant ekrano, pasirinkti ypatybes (jei nematote ypatybių langų, viršutiniame meniu spustelėkite „Peržiūrėti“, tada - „Ypatybių langas“), raskite elementus ir spustelėkite elipses mygtuką. Tada galite įvesti eilutes, sudaryti programą ir patraukti kombinaciją žemyn, kad pamatytumėte pasirinkimą.

Dabar sustabdykite programą ir pridėkite dar keletą skaičių: keturi, penki. iki dešimties. Vykdydami pamatysite tik 8, nes tai yra numatytoji „MaxDropDownItems“ vertė. Nedvejodami nustatykite jį į 20 ar 3 ir paleiskite, kad pamatytumėte, ką jis daro.

Erzina, kad atidarius ji sako „comboBox1“ ir jūs galite ją redaguoti. Tai ne tai, ko mes norime. Suraskite „DropDownStyle“ nuosavybę ir pakeiskite „DropDown“ į „DropDownList“ (tai yra junginys!). Dabar teksto nėra ir jo negalima redaguoti. Galite pasirinkti vieną iš skaičių, bet jis visada atidaromas tuščias. Kaip pasirinkti skaičių, nuo kurio pradėti? Tai nėra savybė, kurią galite nustatyti projektavimo metu, tačiau pridėję šią eilutę tai padarysite.

instagram viewer

Pridėkite šią eilutę „Form1“ () konstruktoriuje. Jūs turite peržiūrėti formos kodą („Solution Explorer“ dešiniuoju pelės mygtuku spustelėkite From1.cs ir spustelėkite View Code. Rasti InitializeComponent (); ir pridėkite tą eilutę iškart po to.

Jei kompiuteryje „DropDownStyle“ nuosavybę nustatysite kaip paprastą ir paleisite programą, nieko negausite. Nepasirinks, nespauskite ir neatsakys. Kodėl? Nes projektavimo metu turite patraukti apatinę tempimo rankeną ir padaryti visą valdiklį aukštesnį.

2 pavyzdyje aš pervadinau „ComboBox“ į „combo“, pakeičiau „combo DropDownStyle“ atgal į „DropDown“, kad jį būtų galima redaguoti ir pridėjau mygtuką „Pridėti“, vadinamą „btnAdd“. Du kartus spustelėjau mygtuką „Pridėti“, kad sukurtų įvykio btnAdd_Click () įvykio valdiklį ir pridėjau šią įvykių eilutę.

Dabar, kai vykdote programą, įveskite naują numerį, sakykite „Vienuolika“ ir spustelėkite Pridėti. Įvykių tvarkytojas priima jūsų įvestą tekstą (kombo. Tekstas) ir prideda jį prie „Combo“ daiktų kolekcijos. Spustelėkite „Combo“ ir dabar turime naują įrašą „Vienuolika“. Taip pridėsite naują eilutę prie „Combo“. Pašalinti vieną yra šiek tiek sudėtingiau, nes jūs turite surasti norimos pašalinti eilutės rodyklę, tada ją pašalinkite. Žemiau parodytas metodas „RemoveAt“ yra tai surinkimo metodas. jums tereikia nurodyti, kuris elementas pašalinamas iš „Indexindex“ parametro.

pašalins eilutę iš „RemoveIndex“ padėties. Jei kombinuotame elemente yra n elementų, galiojančios vertės yra nuo 0 iki n-1. 10 elementų vertės 0..9.

Jei nerandate teksto, jis grąžina -1, kitu atveju grąžina 0 eilutės rodyklę į kombinuotą sąrašą. Taip pat yra perkrautas „FindStringExact“ metodas, leidžiantis nurodyti, iš kur pradedate paiešką, kad galėtumėte praleisti pirmąjį ir tt, jei turite kopijų. Tai gali būti naudinga norint pašalinti sąrašo dublikatus.

Spustelėjus btnAddMany_Click (), tekstas iš kombaino išvalomas, tada išvalomas kombo elementų rinkinio turinys, tada iškviečiamas kombo. „AddRange“ (norint pridėti eilutes iš reikšmių masyvo. Tai padaręs, kompo „SelectedIndex“ nustato 0. Tai rodo pirmąjį kombo elementą. Jei darote elementų papildymą ar naikinimą „ComboBox“, tada geriau sekti, kuris elementas yra pasirinktas. Nustatę „SelectedIndex“ į -1, paslėpsite pasirinktus elementus.

Mygtukas Pridėti daug išvalo sąrašą ir prideda 10 000 skaičių. Aš pridėjau kombo. „BeginUpdate“ () ir „Combo“, „EndUpdate“ () skambina aplink kilpą, kad būtų išvengta bet kokio „Windows“ mirgėjimo, bandančio atnaujinti valdymą. Mano trejų metų sename kompiuteryje reikia šiek tiek daugiau nei sekundės, kad į komodą būtų galima įtraukti 100 000 numerių.

Tai yra patogus valdymas lentelių duomenų rodymui be tinklelio sudėtingumo. Elementus galite rodyti kaip dideles ar mažas piktogramas, kaip piktogramų sąrašą vertikaliame sąraše arba naudingiausią kaip elementų ir paantraščių sąrašą tinklelyje. Štai ką mes čia ir padarysime.

Pametę „ListView“ formoje spustelėkite stulpelių ypatybę ir pridėkite 4 stulpelius. Tai bus „TownName“, „X“, „Y“ ir „Pop“. Nustatykite kiekvieno „ColumnHeader“ tekstą. Jei „ListView“ antraščių nematote (pridėję visas 4), nustatykite „ListView“ rodinio nuosavybę į „Išsami informacija“. Jei peržiūrėsite šio pavyzdžio kodą, tada eikite žemyn ten, kur sakoma „Windows Form Designer“ kodas, ir išplėskite regioną, kuriame matote kodą, sukuriantį „ListView“. Naudinga pamatyti, kaip sistema veikia, ir galite nukopijuoti šį kodą ir patys naudoti.

Kiekvieno stulpelio plotį galite nustatyti rankiniu būdu, perkeldami žymeklį virš antraštės ir vilkdami. Arba galite tai padaryti kodu, kuris matomas išplėtus formos kūrėjo regioną. Turėtumėte pamatyti tokį kodą:

Gyventojų stulpelyje Kodo pakeitimai atsispindi projektuotojui ir atvirkščiai. Atminkite, kad net jei nustatysite, kad nuosavybė „Užrakinta“ yra tikra, tai paveiks tik dizainerį, o vykdymo metu galite pakeisti stulpelių dydį.

„ListViews“ taip pat turi keletą dinaminių savybių. Spustelėkite (Dinaminės ypatybės) ir pažymėkite norimą nuosavybę. Kai nustatote ypatybę kaip dinamišką, ji sukuria XML .config failą ir prideda jį prie „Solution Explorer“.

Pakeitimai projektavimo metu yra vienas dalykas, bet tikrai turime tai padaryti, kai programa veikia. „ListView“ yra sudarytas iš 0 ar daugiau elementų. Kiekvienas elementas („ListViewItem“) turi teksto ypatybę ir posistemių rinkinį. Pirmame stulpelyje rodomas elemento tekstas, kitame stulpelyje rodomas „SubItem“ [0] .text, tada „SubItem“ [1] .text ir pan.

Pridėjau mygtuką eilutei papildyti ir miesto pavadinimo redagavimo lauką. Įveskite bet kurį pavadinimą lauke ir spustelėkite Pridėti eilutę. Į „ListView“ pridedama nauja eilutė su miesto pavadinimu, pateiktu pirmame stulpelyje ir kituose trijuose stulpeliuose (Poskyriai [0..2]) užpildomi atsitiktiniais skaičiais (paverčiamais eilutėmis), pridedant tas eilutes prie juos.

Dabar nustatykite „ListView Multiselect“ nuosavybę kaip „false“. Mes norime pasirinkti tik vieną elementą vienu metu, tačiau jei norite pašalinti daugiau vienu kartu, jis yra panašus, išskyrus tai, kad jūs turite pereiti atgal. (Jei linijuojate įprasta tvarka ir ištrinate elementus, kiti elementai nėra sinchronizuoti su pasirinktais indeksais).

Dešiniojo mygtuko paspaudimo meniu dar neveikia, nes jame nėra meniu elementų, kuriuos būtų galima rodyti. Taigi dešiniuoju pelės mygtuku spustelėkite „PopupMenu“ (žemiau formos) ir formos viršuje, kur atsiranda normalus meniu redaktorius, pamatysite kontekstinį meniu. Spustelėkite jį ir ten, kur rašoma „Type Here“, įveskite „Remove Item“. Ypatybių lange bus rodoma „MenuItem“ taip pervadinta, kad „mniRemove“. Dukart spustelėkite šį meniu elementą ir turėtumėte gauti meniuItem1_Click įvykių tvarkyklės kodo funkciją. Pridėkite šį kodą, kad jis atrodytų taip.

Jei pamiršote pašalinti elementą, tiesiog spustelėkite „PopupMenu“ valdiklį, esantį formos „Designer“ formoje. Tai sugrįš į vaizdą.

Tačiau jei jūs jį paleisite ir nepridėsite elemento ir jį pasirinksite, kai dešiniuoju pelės mygtuku spustelėsite meniu ir spustelėsite Pašalinti elementą, jis suteiks išimtį, nes nėra pasirinkto elemento. Tai netinkamas programavimas, todėl štai ką galite išspręsti. Du kartus spustelėkite iššokantį įvykį ir pridėkite šią kodo eilutę.

„DataGridView“ yra pats sudėtingiausias ir naudingiausias komponentas, nemokamai teikiamas naudojant „C #“. Jis veikia su abiem duomenų šaltiniais (t. Y. Duomenimis iš duomenų bazės) ir be (ty duomenimis, kuriuos pridedate programiškai). Likusią šios mokymo programos dalį aš parodysiu naudodamas ją be duomenų šaltinių. Paprastesniems ekrano poreikiams galite rasti paprastesnį „ListView“.

Jei naudojote senesnį „DataGrid“ valdiklį, tai yra tik vienas iš tų, kurie naudojami steroiduose: jis suteikia daugiau integruotų stulpelių tipų, gali dirbti su vidiniai ir išoriniai duomenys, didesnis ekrano (ir įvykių) tinkinimas ir suteikia daugiau galimybių valdyti langelių valdymą šaldančiomis eilėmis ir stulpelius.

Kurdami formas su tinklelio duomenimis, dažniausiai nurodote skirtingus stulpelių tipus. Gali būti, kad viename stulpelyje yra žymimieji laukeliai, kitame - tik skaitomas arba taisomas tekstas, taip pat kursų numeriai. Šie stulpelių tipai taip pat paprastai yra išlyginami su skaičiais, kurie paprastai sulygiuojami dešinėje, taigi dešimtainiai taškai sutampa. Stulpelio lygiu galite pasirinkti mygtukus, mygtukus, žymimąjį laukelį, „ComboBox“, vaizdą, „TextBox“ ir nuorodas. jei jų nepakanka, galite apibrėžti savo pasirinktinius tipus.

Lengviausias būdas pridėti stulpelius yra projektuojant IDE. Kaip mes matėme anksčiau, tai tiesiog rašo jums kodą ir keletą kartų tai padarius, galbūt norėsite patys pridėti kodą. Kai tai padarysite keletą kartų, jame bus įžvalgos, kaip tai padaryti programiškai.

Pradėkime pridėdami keletą stulpelių, įmeskite „DataGridView“ į formą ir spustelėkite mažąją rodyklę viršutiniame dešiniajame kampe. Tada spustelėkite Pridėti stulpelį. Atlikite tai tris kartus. Atsidarys dialogo langas Pridėti stulpelį, kuriame nustatysite stulpelio pavadinimą, stulpelio viršuje rodomą tekstą ir galėsite pasirinkti jo tipą. Pirmasis stulpelis yra jūsų vardas ir yra numatytasis „TextBox“ (dataGridViewTextBoxColumn). Antraštės tekstą taip pat nustatykite į savo vardą. Padarykite antrą stulpelį „Age“ ir naudokite „ComboBox“. Trečiasis stulpelis yra leidžiamas ir yra „CheckBox“ stulpelis.

Sudėję visus tris, turėtumėte pamatyti trijų stulpelių eilutę su kombainu viduryje (Amžius) ir žymimąjį langelį leidžiamame stulpelyje. Jei spustelėsite „DataGridView“, tada nuosavybės inspektoriuje turėtumėte surasti stulpelius ir spustelėti (kolekcija). Pasirodo dialogo langas, kuriame galite nustatyti kiekvieno stulpelio ypatybes, pvz., Atskiras langelio spalvas, patarimo tekstą, plotį, mažiausią plotį ir kt. Jei sudarysite ir vykdysite, pastebėsite, kad galite pakeisti stulpelių plotį ir vykdymo laiką. Pagrindinio „DataGridView“ turto inspektoriuje galite nustatyti „AllowUser“, kad „colių stulpelių dydis“ būtų klaidingas, kad to išvengtumėte.

Mes pridėsime eilutes prie „DataGridView“ valdiklio kode, o pavyzdžių failas „ex3.cs“ turi šį kodą. Pirmiausia pridėdami „TextEdit“ laukelį, „ComboBox“ ir mygtuką prie formos, ant kurios yra „DataGridView“. „DataGridView“ ypatybę „AllowUserto AddRows“ nustatykite kaip „false“. Aš taip pat naudoju etiketes ir vadinu „combobox cbAges“, mygtuku „btnAddRow“ ir „TextBox tbName“. Aš taip pat pridėjau formos uždarymo mygtuką ir du kartus spustelėjau jį, kad būtų sukurtas „btnClose_Click“ įvykių tvarkytojo skeletas. Pridėjus ten žodį Close (), tai veikia.

Pagal numatytuosius nustatymus mygtuko Pridėti eilutę įjungimas yra neteisingas paleidžiant. Mes nenorime pridėti jokių eilučių prie „DataGridView“, nebent lauke „Name TextEdit“ ir „ComboBox“ yra tekstas. Sukūriau metodą „CheckAddButton“ ir tada sugeneravau pavadinimo teksto redagavimo laukelį „Palikti įvykių tvarkytuvą“, dukart spustelėdamas šalia žodžio „Palikti“ ypatybėse, kai jis rodė įvykius. Ypatybių laukelyje tai parodyta aukščiau esančiame paveikslėlyje. Pagal numatytuosius nustatymus lauke Ypatybės rodomos ypatybės, tačiau spustelėję žaibo mygtuką galite pamatyti įvykių tvarkytojus.

Galėtum naudoti „TextChanged“ įvykį, nors tai vadinsis „CheckAddButton“ () metodas kiekvieno klavišo paspaudimo metu, o ne tada, kai valdymas netaikomas, t. y sutelkti dėmesį. „Ages Combo“ aš naudojau „TextChanged“ įvykį, bet pasirinkau įvykių tvarkyklę „tbName_Leave“, o ne dukart spustelėkite, kad sukurtumėte naują įvykių tvarkytuvą.

Ne visi įvykiai yra suderinami, nes kai kurie įvykiai suteikia papildomų parametrų, tačiau jei galite pamatyti anksčiau sugeneruotą tvarkyklę, tuomet taip galite naudoti. Tai dažniausiai teikia pirmenybę. Jūs galite turėti atskirą įvykių tvarkytuvą kiekvienai jūsų valdomai kontrolei naudoti arba dalytis įvykių tvarkyklėmis (kaip aš padariau), kai jie turi bendrą įvykio parašą, t. y. parametrai yra tas pats.

„DataGridView“ komponentą pervadinau į „dGView“ dėl trumpumo ir du kartus spustelėjau „AddRow“, kad būtų sugeneruotas įvykių tvarkytojo skeletas. Šis žemiau pateiktas kodas prideda naują tuščią eilutę, gaunamas tų eilučių indeksas (tai „RowCount-1“, nes jis ką tik pridėtas, o „RowCount“ yra 0 pagrįstas), tada prieina prie šios eilutės per savo rodyklę ir nustato tos eilutės langelių reikšmes stulpeliams „Jūsų vardas“ ir „ Amžius.

Kurdami formą, turėtumėte galvoti apie tarą ir valdiklius bei tai, kurias kontrolinių priemonių grupes reikėtų laikyti kartu. Šiaip ar taip, Vakarų kultūrose žmonės skaito nuo viršaus į kairę į apačią į dešinę, kad būtų lengviau skaityti.

Tara yra bet kuris valdiklis, kuriame gali būti kitų valdiklių. Įrankių rinkinyje randami skydai, „FlowLayoutpanel“, „SplitContainer“, „TabControl“ ir „TableLayoutPanel“. Jei nematote priemonių rinkinio, naudokite meniu Rodymas ir jį rasite. Konteineriai valdo valdiklius kartu, ir, jei jūs perkelsite ar pakeisite konteinerio dydį, tai paveiks valdiklių padėtį. Tiesiog perkelkite valdiklius virš konteinerio „Formos dizainere“ ir jis atpažins, kad konteineris dabar yra atsakingas.

Skydas yra panašus į „GroupBox“, tačiau „GroupBox“ negali slinkti, tačiau gali rodyti antraštę ir pagal numatytuosius nustatymus turi kraštinę. Plokštės gali turėti kraštus, bet pagal numatytuosius nustatymus jų neturi. Aš naudoju „GroupBox“, nes jie atrodo gražiau, ir tai svarbu, nes:

Plokštės yra patogios ir konteineriams grupuoti, todėl skydelyje gali būti dvi ar daugiau „GroupBox“.

Štai patarimas darbui su konteineriais. Išmeskite suskaidytą konteinerį ant formos. Spustelėkite kairįjį, tada dešinįjį, skydelius. Dabar pabandykite pašalinti „SplitContainer“ iš formos. Sunku, kol dešiniuoju pelės mygtuku spustelėkite vieną iš skydų ir tada spustelėkite Pasirinkti „SplitContainer1“. Kai viskas bus pasirinkta, galite ją ištrinti. Kitas būdas, kuris galioja visiems valdikliams ir konteineriams paspauskite Esc klavišą pasirinkti tėvą.

Konteineriai taip pat gali lizdus laikyti vienas kito viduje. Tiesiog vilkite mažą ant didesnio viršaus ir trumpam pasirodys plona vertikali linija, rodanti, kad viena dabar yra kitos viduje. Vilkdami pirminį konteinerį vaikas bus perkeltas su juo. 5 pavyzdys parodo tai. Pagal numatytuosius nustatymus šviesiai rudas skydelis nėra talpyklos viduje, taigi, kai spustelėsite mygtuką perkelti, „GroupBox“ bus perkelta, tačiau skydo nėra. Dabar vilkite skydelį virš „GroupBox“, kad jis būtų visiškai „Groupbox“ viduje. Kai šį kartą sukompiliuosite ir paleisite, spustelėję mygtuką Perkelti, abu judate.

„TableLayoutpanel“ yra įdomus konteineris. Tai lentelės struktūra, išdėstyta kaip 2D langelių tinklelis, kuriame kiekvienoje ląstelėje yra tik vienas valdiklis. Ląstelėje negali būti daugiau nei vienas valdiklis. Galite nurodyti, kaip lentelė auga, kai pridedama daugiau valdiklių arba net jei ji neauga. Atrodo, kad ji yra HTML lentelės pavyzdys, nes ląstelės gali apimti stulpelius ar eilutes. Netgi vaikų tvirtinimo elementų tvirtinimas konteineryje priklauso nuo „Margin“ ir „Padding“ nustatymų. Daugiau apie inkarus pamatysime kitame puslapyje.

Ex6.cs pavyzdyje aš pradėjau nuo pagrindinės dviejų stulpelių lentelės ir nurodiau per valdymo ir eilučių stilių dialogo langą (pasirinkite valdiklį ir spustelėkite mažą dešinysis nukreiptas trikampis, esantis netoli viršutinės dešinės dalies, kad pamatytumėte užduočių sąrašą ir spustelėkite paskutinįjį), kad kairysis stulpelis yra 40%, o dešinysis stulpelis - 60% plotis. Tai leidžia nurodyti stulpelio plotį absoliučiais pikseliais, procentais arba galite tiesiog leisti jį automatizuoti. Greitesnis būdas patekti į šį dialogą yra tiesiog spustelėjus Kolekcija, esančią šalia stulpelių ypatybių lange.

Pridėjau mygtuką „AddRow“ ir palikau „GrowStyle“ nuosavybę su numatytąja „AddRows“ verte. Kai lentelė užpildoma, pridedama dar viena eilutė. Arba galite nustatyti jo reikšmes kaip „AddColumns“ ir „FixedSize“, kad jis nebegalėtų augti. „Ex6“ spustelėjus mygtuką Pridėti valdiklius, jis tris kartus iškviečia „AddLabel“ () metodą ir „AddCheckBox“ () kartą. Kiekvienas metodas sukuria valdymo pavyzdį ir iškviečia „tblPanel“. Valdikliai. Pridėti () Pridėjus antrąjį valdiklį, trečiasis valdiklis sukelia lentelės augimą. Paveikslėlyje tai parodyta po to, kai vieną kartą spustelėjus mygtuką „Pridėti valdiklį“.

Jei jums įdomu, kur pateiktos „AddCheckbox“ () ir „AddLabel ()“ metodų, kuriuos aš vadinu, numatytosios vertės, kontrolė buvo iš pradžių rankiniu būdu pridedamas prie dizainerio lentelės, tada iš jos buvo nukopijuotas kodas, skirtas ją sukurti ir inicijuoti regione. Inicializacijos kodą rasite „InitializeComponent“ metodo skambutyje, kai spustelėsite toliau esančio regiono kairėje esantį pliusą +:

Vienu metu galite pasirinkti kelis valdiklius, laikydami nuspaudę klavišą „Shift“, kai pasirenkate antrąjį ir paskesnius valdiklius, net skirtingų tipų valdiklius. „Properties“ lange rodomos tik abiems būdingos savybės, todėl galite nustatyti jas visas į vienodo dydžio, spalvų ir teksto laukus ir pan. Net tie patys įvykių tvarkytojai gali būti priskirti kelioms valdymo priemonėms.

Atsižvelgiant į naudojimą, kai kurias formas vartotojas dažnai keis. Nieko nėra blogiau, nei pakeisti dydį formoje ir pamatyti, kaip valdikliai lieka toje pačioje padėtyje. Visi valdikliai turi inkarus, leidžiančius juos „pritvirtinti“ prie 4 kraštų taip, kad valdiklis judėtų arba ištemptų, kai pridedamas kraštas. Tai lemia tokį elgesį, kai forma ištempiama iš dešiniojo krašto:

Tokiems mygtukams kaip Uždaryti, kurie tradiciškai yra apačioje dešinėje, reikia 3 elgesio. „ListViews“ ir „DataGridViews“ geriausia naudoti su 2, jei stulpelių skaičiaus pakanka, kad forma būtų perpildyta, ir reikia juos slinkti). Viršutinis ir kairysis inkarai yra numatytieji. Nuosavybės lange yra madingas redaktorius, kuris atrodo kaip Anglijos vėliava. Tiesiog spustelėkite bet kurią juostą (dvi horizontalias ir dvi vertikalias), kad nustatytumėte arba išvalytumėte reikiamą inkarą, kaip parodyta aukščiau esančiame paveikslėlyje.

Viena ypatybė, kuri mažai paminėta, yra „Tag“ nuosavybė, tačiau ji gali būti nepaprastai naudinga. Ypatybių lange galite priskirti tik tekstą, tačiau savo kode galite turėti bet kokią reikšmę, kuri kyla iš objekto.

Aš naudojau žymą visam objektui laikyti, tuo tarpu „ListView“ rodydamas tik keletą jo savybių. Pavyzdžiui, galbūt norėsite kliento suvestinėje pateikti tik kliento vardą ir numerį. Bet dešiniuoju pelės mygtuku spustelėkite pasirinktą klientą ir atidarykite formą su visa kliento informacija. Tai nesunku, jei kuriate klientų sąrašą, skaitydami atmintyje visą kliento informaciją ir žymoje priskirdami nuorodą į klientų klasės objektą. Visuose valdikliuose yra žyma.

„TabControl“ yra patogus būdas sutaupyti formos vietos, turint kelis skirtukus. Kiekviename skirtuke gali būti piktograma arba tekstas. Galite pasirinkti bet kurį skirtuką ir rodyti jo valdiklius. „TabControl“ yra konteineris, tačiau jame yra tik „TabPages“. Kiekvienas „TabPage“ yra ir konteineris, prie kurio galima pridėti įprastus valdiklius.

X7.cs pavyzdyje aš sukūriau dviejų skirtukų puslapio skydelį, kurio pirmasis skirtukas vadinasi Valdikliai, turintis tris mygtukus ir žymimąjį langelį. Antrasis skirtuko puslapis yra žymimas Žurnalai ir naudojamas norint parodyti visus prisijungusius veiksmus, įskaitant mygtuko paspaudimą arba žymėjimo langelio perjungimą. Metodas, vadinamas „Log ()“, kviečiamas registruoti kiekvieną mygtuko paspaudimą ir tt Ji prideda pateiktą eilutę į „ListBox“.

Taip pat įprastu būdu į „TabControl“ pridėjau du dešiniojo mygtuko paspaudimų meniu elementus. Pirmiausia pridėkite „ContextMenuStrip“ prie formos ir nustatykite ją „TabControl“ nuosavybėje „ContextStripMenu“. Du meniu pasirinkimai yra Pridėti naują puslapį ir Pašalinti šį puslapį. Tačiau aš ribojau puslapio pašalinimą, kad būtų galima pašalinti tik naujai pridėtus skirtukų puslapius, o ne du originalius.

Tai lengva, tiesiog sukurkite naujo skirtuko puslapį, duokite jam skirtuko Teksto antraštę, tada pridėkite jį prie skirtukų skirtuko „TabControl“ skirtuko „TabPages“ kolekciją.

Puslapio pašalinimas yra tik „TabPages“ iškvietimo klausimas. „RemoveAt“ () naudokite skirtukus. „SelectedIndex“, jei norite gauti šiuo metu pasirinktą skirtuką.

Šiame vadove mes matėme, kaip veikia kai kurie sudėtingesni valdikliai ir kaip jais naudotis. Kitame vadove aš tęsiu GUI temą ir pažvelgiu į foninio darbuotojo giją ir parodysiu, kaip ja naudotis.