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: 12403

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 1018 korisnika na forumu :: 28 registrovanih, 5 sakrivenih i 985 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: AleksSE, Avalon015, Ben Roj, bojan_t, cikadeda, dankisha, dozorni, ds69, Duh sa sekirom, FOX, ILGromovnik, janbo, kolle.the.kid, Mcdado, mercedesamg, Metanoja, milutin134, mnn2, pein, royst33, sabros, Srle993, Steeeefan, styg, TBF1D, Tvrtko I, W123, zax22r