checkedlistbox   otázka

VB.NET

Budem veľmi, veľmi vďačný, ak mi niekto pomôže s nasledovným problémom. Mám napr. (zjednodušene) takýto kód


dim predmet1 as boolean
dim predmet 2 as boolean
dim predmet 3 as boolean
'a tak ďalej

if predmet1 = true then chceckedlistbox1.items.add("Prvý predmet")
if predmet2 = true then chceckedlistbox1.items.add("Druhý predmet")
if predmet1 = true then chceckedlistbox1.items.add("Tretí predmet")
'a tak ďalej

Niekde v programe (no, ono je to taký pokus o textovú hru) si viem priradiť či predmety mám, alebo nemám. Avšak na jednom mieste potrebujem výber typu "Vyber si 2 ľubovoľné predmety o ktoré prídeš". Checkedlistbox vyššie uvedeným spôsobom naplním, ale neviem na základe neho zistiť ktorý predmet/predmety bol zvolený na odstránenie.

CheckedListBox1.GetItemCheckState(cislo) zisťuje poradie položky, ktorá je "checked". Lenže ja neviem ktorá položka má číslo 0, ktorá 1 atď, keďže poradie je vždy rôzne, podľa toho či je niektorý predmet true, alebo false.

Určite na to nejaký spôsob je, ale ja som momentálne v koncoch :-(

Som mierne pokročilý začiatočník, zatiaľ v hre zvládam spraviť všetko, ale tuto som sa fakt zasekol.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Myslím že som na to prišiel !


dim predmet1 as boolean
dim predmet 2 as boolean
dim predmet 3 as boolean
dim kontrola_predmetov as object

if predmet1 = true then checkedlistbox1.items.add("Prvý predmet")
if predmet2 = true then checkedlistbox1.items.add("Druhý predmet")
if predmet1 = true then checkedlistbox1.items.add("Tretí predmet")

For Each Me.kontrola_predmetov In CheckedListBox1.CheckedItems
  If kontrola_predmetov = "Prvý predmet" Then predmet1 = False
  If kontrola_predmetov = "Druhý predmet" Then predmet2 = False
  If kontrola_predmetov = "Tretí predmet" Then predmet3 = False

Next

Zdá sa že to funguje, lebo predmety ktoré zvolím a potvrdím, majú naozaj hodnotu false a ktoré nezvolím sú true.

Mal som asi najpr viac rozmýšľať (a hľadať na internete) a potom sem písať :-)

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback