comboBox_selectedIndexChanged i globalna promenljiva

comboBox_selectedIndexChanged i globalna promenljiva

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

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

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 1142 korisnika na forumu :: 73 registrovanih, 7 sakrivenih i 1062 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 15694 - dana 01 Feb 2026 12:23

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: AndrejPetar, Arni, Asprilja, avijacija, Belisarius, berste23, Bo96, Boroš, BORUTUS, brundo65, Bubimir, ccoogg123, Centauro, darkdruid72, DH, DJUNTA, DonRumataEstorski, draganl, dragoljub11987, gasazem, GrammaticalAnalysis, Great White, Guster25, Hamo77, Hemi, HrcAk47, ILGromovnik, Jozo74, Kenanjoz, Kombi za prismotru, kybonacci, LeGrandCharles, LUDI, m0nstrum_, Malahit, marsi, max power, mercedesamg, Mig 29, Mili026, milivoje_vatrogasac, mirkoro, mm1811, mrgud2025, Ne doznajem se u oružje, Nepopravljivi, Neutral-M, niksa517, Otto Grunf, Parker, Prometeus, radionica1, Resnica, Sami_1ali, sap, saputnik plavetnila, Shilok, Sinduk, ssekir75, suponik, trpche, USSVoyager, Vanderx, vaso1, Velizar Laro, veljko82, Vitomir, wolverined4, zixmix, zoran-ruma, zoran77, zule2, 800077