Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 7 odgovora
  • 3.547 pregleda

Najnovija ↓

indirektno pozivanje formi 11.05.2007. u 09:11 · pre 237 meseci #1
Recimo imam forme : Mara, Branka , Tonka , .. Imam promenjivu string pozovi . i sad a želim :
pozivi = Mara , da se izvsava Mara , poziv= Branka , pozove se forma Branka
Ako neko ima ideju , .... Hvala . NAravno sa if( pozovi == "branka " ) mi se ne sviđa
Re: indirektno pozivanje formi 11.05.2007. u 16:46 · pre 237 meseci
izmenjeno 1 put, poslednji put vladdy 11.05.2007. u 17:19
  1. vladdy11.05.2007. u 17:19zapis iz teksta poruke
#6
Uh, kakav ti program pravis kada imas forme Mara i Branka :)))

Imas par nacina, samo se pripazi sa tim "activator" i uopste reflection jer ako radis obfuskaciju obfuscator moze da ti promjeni ime forme (MaraForm -> a1) i onda ode tvoj string reference u ... :)

Evo ti i kod:
Code:

Imports System.Reflection

Sub ShowForm(str As String)
Dim ty As Type = Type.GetType(str)
Dim frm As Object = Activator.CreateInstance(ty)
DirectCast(frm, Form).ShowDialog()
End Sub


Onda zoves formu sa:
Code:

ShowForm("MyApplication.FormName")


Pogledaj ovde za vise informacija i alternativa ili jednostavno googlaj Activator.CreateInstance:
http://blogs.msdn.com/kcwalina...GenericMethodVsSystemType.aspx
http://blogs.msdn.com/haibo_luo/archive/2005/11/17/494009.aspx

Pogledaj i "singleton" pattern/provider za instanciranje objekata, posebno ako radis u mdi okruzenju.
Potpis
http://www.pro-transport.com - The most advanced trucking software on the market
Re: indirektno pozivanje formi 12.05.2007. u 00:16 · pre 237 meseci #8
Neca, niti M od Mare :

private void button1_Click(object sender, System.EventArgs e)
{
Form fr1 = new Unos_izvoda();
fr1.ShowDialog(this);
}
..............................................
......................................


private void button31_Click(object sender, System.EventArgs e)
{
Form fr31 = new Dnevni_utrzak();
fr31.ShowDialog(this);
}
ovo gore je pozivanje formi i ovako 30 .Mislim da bi bilo jednostavnije (barem bih ja tako htio )

da to gore fino smestim i u promenjivu i sta se nalazi u promenjivoj da tu formu poziva .


if( WindowsApplication1.unos_izvoda.ActiveForm.Name=="unos_izvoda")
{
WindowsApplication1.unos_izvoda.insert(sender, e);
}
.......................................
..............................................

if (WindowsApplication1.Dnevni_utrzak.ActiveForm.Name == "Dnevni_utrzak")
{
WindowsApplication1.Dnevni_utrzak.insert(sender, e);

}
I ovdije isto , 3 0 puta zaredmo sličan kod i poziva se ista funkcija u drugim formama .On radi i to isparavno al .....

Pokusao sam ovo gore predloženo , pa veli ne može convertirati ...
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme