[ unisoft @ 30.03.2011. 09:00 ] @
U programu postoji samo jedna mdi forma. Kada se klikne na odgovarajuci padajuci meni unutar te forme (Mdi roditeljske forme) otvori se forma na kojoj se trazi da se upise putanja do slike. Pritiskom na OK button te forme ako putanja postoji ova forma se zatvara i pri zatvaranju otvara novu child formu unutar mdi forme.

kod za pokretanje child forme unutar mdi.

ime mdi forme je: frmMdi
ime 1 obicne forme je: frmSlika
ime 2 obicne forme je: frmIgra

Code:

frmMdi frmChildFrmMdi=new frmMdi;
frmChildFrmMdi.MdiParent=this;
frmChildFrmMdi.show();


ova tri reda koda prikazuju child formu unutar mdi forme. Da napomenem, ovaj kod se pokrece iz mdi forme. Problem je u tome sto ne znam kako da prikazem CHILD FORMU unutar forme frmMdi sa vec prikazane child forem frmSLika.

Kada kliknem na button btnOk na formi frmSlika on ovu treba da zatvori i otvori fromu frmIgra u formi frmMdi?

[Ovu poruku je menjao unisoft dana 30.03.2011. u 11:44 GMT+1]
[ unisoft @ 30.03.2011. 11:07 ] @
ovu mi gresku prijavi kada probam da na slican nacin napisem kod koji se pokrece pri aktiviranju klik dogadjaja dugmeta sa forme koja je vec ucitana u mdi formu .

Code:

            frmIgra ChildFrmIgra=new frmIgra ();
            ChildFrmIgra.MdiParent=frmMdi;
            ChildFrmIgra.Show();

The name 'frmIgra ' does not exist in the class or namespace 'WindowsApplication2.frmslika

[ bigguy @ 30.03.2011. 12:13 ] @
Cekaj da li sam te dobro razumeo naziv mdi roditeljske forme je frmSlika, njena child forme mogu da budu frmIgra i frmMdi? Ako je uslov forme frmMdi ispunjen (odnosi se na uslov da li je putanja tacna) onda se ova child forma zatvara i otvara se forma frmIgra, jel to tacno?

Jesili probao da kreiras delegat dogadjaja?
[ unisoft @ 30.03.2011. 12:27 ] @
Ne. Mdi forma je forma sa imenom frmMdi. Na ovoj formi postoji jedan padajuci meni (meniji New,Save...). Kada se klikne na meni Save treba da se unutar frmMdi forme otvori frmSlika. Kada se poune neka polja na toj formi i klikne na button OK ako je sve u redu ova forma se zatvara i treba da se ucita forma sa imenom frmIgra. Child forme su frmSlika i frmIgra, a parent forma je frmMdi.


Zakacio sam uz ovu poruku projekat pa pogledaj ako mozes.
[ bigguy @ 30.03.2011. 12:49 ] @
Ne mogu da otvorim tvoj fajl jer je moja verzija VS starija, ali sad mi je jasnije. Ako ti niko nista ne odkuca danas poslacu ti predlog sutra ujutro.
[ perun85 @ 30.03.2011. 15:09 ] @
Ako sam dobro razumeo problem (nisam gledao kod) prosledi propertiju child forme MdiParent referencu na tvoju roditeljsku formu. To mozes uraditi implementacijom singleton patterna ili pomocu staticke klase.

Primer mozda ima gresaka kucam ga napamet.

public static class WindowManager
{
private static MainForm mdiParent;

//Ovo je properti u kome ces smestati referencu na tvoju MDI parent formu
public static MainForm MdiParent
{
get {return mdiParent;}

set{mdiParent = value;}
}
}


public class MainForm
{
public MainForm()
{
//Ovim prosledjujes referencu tvoje glavne forme statickoj klasi
WindowManager.MdiParent = this;
}

public void MenuClicked (object sender, EventArgs e)
{
//Primer kako da childformi setujes parent formu
ChildForm childForm = new ChildForm();
childForm.MdiParent = WindowManager.MdiParent;
childForm.Show();
}

}

Pozdrav.



[ perun85 @ 30.03.2011. 15:15 ] @
Ako sam dobro razumeo problem (nisam gledao kod) prosledi propertiju child forme MdiParent referencu na tvoju roditeljsku formu. To mozes uraditi implementacijom singleton patterna ili pomocu staticke klase.

Primer mozda ima gresaka kucam ga napamet.

public static class WindowManager
{
private static MainForm mdiParent;

//Ovo je properti u kome ces smestati referencu na tvoju MDI parent formu
public static MainForm MdiParent
{
get {return mdiParent;}

set{mdiParent = value;}
}
}


public class MainForm
{
public MainForm()
{
//Ovim prosledjujes referencu tvoje glavne forme statickoj klasi
WindowManager.MdiParent = this;
}

public void MenuClicked (object sender, EventArgs e)
{
//Primer kako da childformi setujes parent formu
ChildForm childForm = new ChildForm();
childForm.MdiParent = WindowManager.MdiParent;
childForm.Show();
}

}

Pozdrav.



[ unisoft @ 30.03.2011. 17:20 ] @
Postoji li neko prostije resenje zato sto je ovo za mene trenutno veoma tesko da razumem. Imam veoma slabo znanje iz C#, napravio sam veoma veliki rad na osnovu profesionalnog poznavanja VB 6.0 ali me ovo .NET okruzenje C# kolje dok se veoma dobro u VB .NET-u dobro snalazim.

Hvala svima na brzim odgovorima!!!

[Ovu poruku je menjao unisoft dana 30.03.2011. u 18:36 GMT+1]