comboBox_selectedIndexChanged i globalna promenljiva

comboBox_selectedIndexChanged i globalna promenljiva

offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4575

Napisano: 16 Jul 2015 16:27

U pitanju je C# aplikacija (WinForms). Imam 6 Combo kutijica u kojima korisnik treba da izabere jednu od ponuđenih stavki (u Properites sam podesio da DropDownStyle bude DropDownList kako korisnik ne bi mogao da menja sam unos u Combo kutijicama). Takođe, postavio sam globalnu promenljivu u program (enabledTools) koja služi da obavesti korisnika koliko je Combo kutijica izabrao. Sada imam problem.

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)         {             if (comboBox1.SelectedIndex > -1)             {                 espressoEnabledTools += 1;             }                       if (espressoEnabledTools > 0)             {                 label12.Text = "Tools to download: " + espressoEnabledTools;             }             else if (espressoEnabledTools == 0)             {                 label12.Text = "Nothing to download.";             }             else             {                 // postavljeno samo zbog debagovanja (u developer mode)                 label12.Text = "Fatal Error: " + espressoEnabledTools;             } }

Svaki put kada promenim izbor u nekoj Combo kutijici , promenljiva espressoEnabledTools mi se povećava za 1, a ja želim da mi se poveća samo kada izaberem neku od stavki iz Combo kutijica dok su one prazne (po default-u su nameštene da budu prazne) i da ostane tako, čak i ako promenim stavku u Combo kutijici Very Happy

Nadam se da ste me razumeli, dakle treba mi objašnjenje koje evente da koristim za comboBox Ziveli

Dopuna: 16 Jul 2015 17:54

Rešeno (ne konkretno za event Very Happy ) - dodao sam Bulove vrednosti na početku programa za svaku alatku (to mi više odgovara za moj projekat) pa ako je selektovana samo prosledim true i dodajem 1 promenljivoj espressoEnabledTools.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 14 Feb 2008
  • Poruke: 12391

Ako ti je forma takva da sigurno nećeš imati više CB-ova :

int counter = 0;             foreach (Control thisCB in this.Controls.OfType<ComboBox>())             {                     if (((ComboBox)thisCB).SelectedIndex > -1)                     {                         counter++;                     }             }             lblInfo.Text = "You have selected " + counter.ToString() + " items to install";

To će proći kroz svaki CB na toj formi.

Ako pak imaš više tipova CB-ova onda možeš u imenu Combo Box kontrole da koristiš posebnu ključnu reč.
Kasnije u petlji proveriš da li trenutni CB u imenu sadrži tu ključnu reč ...



Ko je trenutno na forumu
 

Ukupno su 888 korisnika na forumu :: 44 registrovanih, 6 sakrivenih i 838 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 357magnum, _Rade, A.R.Chafee.Jr., Alexandar-1973, amaterSRB, crnitrn, djboj, DonRumataEstorski, drazenm, dushan, esx66, goxin, Griffon vulture, Karla, Kibice, kihot, kybonacci, laurusri, mercedesamg, Mercury, mikrimaus, milenko crazy north, milutin134, nebojsag, nenad81, NoOneEver Dreams, Panter, pein, raso7, Regrut Boskica, ruma, S1Mk3, Sirius, Smiljke, Srle993, stalja, vathra, vladulns, vlajkox, zlaya011, Zoca, Šraf, 1107, 79693