[ alekpalek @ 10.12.2012. 00:06 ] @
| Napravio sam jednostavnu desktop aplikaciju na kojoj imam nekoliko koraka gde je potrebno uneti neke podatke. Na sledeci korak se prelazi pritiskom na dugme. Na 4. koraku imam jednostavnu padajucu listu sa 3 stavke. Izborom stavke i pritiskom na dugme trebalo bo da se prikaze odgovarajuci panel. Evo koda:
Code: private void button8_Click(object sender, EventArgs e)
{
switch (odabir_uzemljivaca.Text)
{
case "Temeljni uzemljivač":
panel4.Visible = true;
break;
case "Cevni uzemljivač (sonda)":
panel5.Visible = true;
break;
case "Pločasti uzemljivač":
panel6.Visible = true;
break;
default:
MessageBox.Show("Niste odabrali odgovarajući uzemljivač");
break;
}
}
Kad pokrenem program i izaberem"Temeljni uzemljivač"", prikazuje se ispravni panel.
Medjutim kada izaberem "Cevni uzemljivač (sonda)" ili "Pločasti uzemljivač" paneli panel5 i panel6 se ne prikazuju. Nista se ne desava.
U debug rezimu sam proverio i program ispravno ulazi u odgovarajucu granu i odradi panel6.Visible = true ali nakon toga kada pogledam vrednost promenljive panel6.Visible ona je i dalje false.
Ne znam u cemu je problem, moze li neko da mi pomogne oko ovog problema posto sam pocetnik u C# programiranju? Sumnjam da nije nesto oko pogresno ugnjezdenih panela.
P.S. Konbstruktor u kome vrsim inicijalizaciju komponenti na formi je ogroman, pa ga nisam postavio, ako treba recite. |
[ mish_ns @ 10.12.2012. 08:43 ] @
Pozdrav
probaj da u svakom case-u stavis visible osobinu, ostalim panelima na false.
Npr.
Code:
case "Temeljni uzemljivač":
panel4.Visible = true;
panel5.Visible = false;
panel6.Visible = false;
break;
[ alekpalek @ 10.12.2012. 18:15 ] @
Probao sam sve moguće. I to što si mi reko, čak sam i sve moguće panele stavio da budu false, a samo ti koje sam hteo da se prikažu stavio sam da budu true, ali u tom slučaju se pojavljuje prva stranica koja nije panel. Probao sam da umesto panela pozovem MessageBox.Show i to radi bez problema tako da sam shtavio da nije problem u kodu već u panelima jednostavno kada ih pozovem oni ne postoje, a kreirao sam ih. Probaću ponovo da uradim samo taj deo sa panelima mora da je greška nastala kada sam radio u dizajn modu.
[ radoica @ 10.12.2012. 19:53 ] @
Panel je kontejner kontrola (moze da sadrzi druge kontrole). Verovatno si stavio panel3 u panel2, a panel2 u panel1.
Nemoj da koristis dizajner, vec probaj preko koda da napravis panele.
[ alekpalek @ 10.12.2012. 20:08 ] @
Da upravo je to bio i problem. Stavio sam panele jedanu drugi i oni su bili nevidljivi za kod kojim sam ih pozivao. Sada je sve rešeno. Početnik sam u C#. Pokušaću da naučim da pravim panele preko koda. Hvala mish_ns i radoica.
[ ravni @ 11.12.2012. 09:02 ] @
A mozes i da ukljucis View -> Other windows -> Document outline pa ce ti biti jasnije kako izleda hijerarhija kontrola na formi.
[ Cofz922 @ 03.02.2013. 17:24 ] @
Probaj panel1.BringToFront();
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.