PDA

Prikaži potpunu verziju : Potrebna ideja - C#


Ivan452
13.9.2009, 15:04
E ovako, poceo sam da radim neki program u jeziku C#.

I vec sam se susreo sa jednim problemom.
Sledeci je:

Imam nekoliko formi. Svaka sadrzi NEXT i PREVOUS dugme. Kada na prvoj kliknem NEXT pokaze se forma2 a nestane forma1 itd.To bi bila kao "instalacija" programa, tj podesavanje nekih parametara koji su bitni sa glavni program.

Sada problem je u tome sto ako iskoristim vise formi, onda mi se dole u taskbaru stalno smenjuju forme sto i ne izgleda bas lepo.
Sledece sto mi je palo na pamet jeste da iskoristim jednu formu kao MDIContainer a druge onda da stavljam u okviru nje a da im iskljucim bordure tako da dodju samo kao panel(to nisam probao da vidim kako ce da izgleda)
I trece je da napravim jednu formu a onda preko koda, dinamicki, da dodajem i sklanjam komponente(to bi mi utrosilo previse vremena kojeg nemam).

Pa mi je potrebna neka ideja. Kako da napravim taj deo programa a da izgleda kao npr. instalacija nekog programa.

voodoo_
13.9.2009, 15:18
Ne radi se to tako.

Napravi jednu formu. Ako tvoja "instalacija" ima recimo pet koraka, ubaci pet panela tako da svi budu istih dimenzija i jedan preko drugog, a onda u svaki ubaciš ono što želiš da bude u tom koraku instalacije (kada budeš popunjavao njihove sadržaje, najlakše ti je da do željenog dođeš tako što u Solution Exploreru desno klikneš na određeni panel pa "bring to front").

Onda ubaciš Next i Back dugme ispod svih tih panela, dakle oni će biti direktno na formi.

Dalje, samo prvi postaviš da je Visible, ostale sakriješ. Na "Next" dugme postavljaš trenutno aktivnom panelu Visible na False i sledećem na True. Na "Back" dugme obrnuto. Da li ćeš održavati neku globalnu integer promenljivu sa indeksom trenutno vidljivog panela, ili ćeš raditi pešački (if panel1.visible == true panel1.visible = false; panel2.visible = true itd), to je na tebi. Uglavnom sakrivanje celih panela je daleko brže nego sakrivanje pojedinačnih komponenti, pošto je panel kontejner i ako je on nevidljiv, nedostupno je i sve u njemu.

Može da se izvede i preko TabControla ali malo složenije.

Ivan452
13.9.2009, 15:59
Hvala ti puno.
Probacu, verujem da ce tako lepo raditi.

Ladowina
13.9.2009, 18:22
Ja sam radio na isti nacin, izvodljivo je tako raditi wizarde.

Patton
14.9.2009, 10:23
Inace imas i u propertijima opciju da se forma iliti prozor ne pokazuje u taskbaru.

Ivan452
14.9.2009, 12:44
da znam za to ali ni to ne bi bilo resenje.
Kako je voodoo napisao tako je najbolje da se to odradi.
I najjednostavnije a i programerski vishe ispravno.

Patton
14.9.2009, 13:29
Slazem se... nisam ni rekao da treba da se tako radi, vec sam te samo podsetio da postoji ta opcija. Voodoo je dao konacno resenje definitivno - paneli su keva :D

Ivan452
14.9.2009, 23:58
okay.
Nasao sam bolju opciju, preporucio mi je jedan momak sa drugog foruma.

UserControls.
Paneli jesu jednostavniji, ali ovo mi od dosadasnjih opcija deluje kako bas treba da se uradi. A posto mi je ispravnost bitna na ovom radu sa tim cu sutra da pokusam.
Nemam iskustva sa time. Ali koliko sam malo bacio pogled, deluje kao panel na koji stavljas svoje kontrole i onda mozes to da koristis na formi kao celinu.

irreal
15.9.2009, 0:47
deluje kao panel na koji stavljas svoje kontrole i onda mozes to da koristis na formi kao celinu.

pa to ti i jeste voodoo rekao da koristis.

Ivan452
16.9.2009, 23:59
Paaaaaa ne.
Paneli i UserControls i nisu bas isto.