Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

indirektno pozivanje formi

[es] :: .NET :: indirektno pozivanje formi

[ Pregleda: 2614 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Neznalica_sa_ugla
split

Član broj: 83282
Poruke: 390
*.xnet.hr.



Profil

icon indirektno pozivanje formi11.05.2007. u 08:11 - pre 206 meseci
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
 
Odgovor na temu

negyxo
Aleksandar Perkuchin

Član broj: 29751
Poruke: 898
*.sksyu.net.



+171 Profil

icon Re: indirektno pozivanje formi11.05.2007. u 08:17 - pre 206 meseci
Code:

Activator.CreateInstance


 
Odgovor na temu

Neznalica_sa_ugla
split

Član broj: 83282
Poruke: 390
*.xnet.hr.



Profil

icon Re: indirektno pozivanje formi11.05.2007. u 08:43 - pre 206 meseci
moram priznati ,da i ne razumijem
 
Odgovor na temu

aleksandarpopov
IT consultant
Senta

Član broj: 57172
Poruke: 484
*.sksyu.net.

Sajt: www.linkedin.com/in/aleks..


Profil

icon Re: indirektno pozivanje formi11.05.2007. u 09:05 - pre 206 meseci
Metod koji kreira instancu objekta i vraca "rucicu" na instancu za prosledjeni tip, naziv klase... (13 preklapanja) pa vidi sta ti odgovara da prosledis...
RTFM
 
Odgovor na temu

Neznalica_sa_ugla
split

Član broj: 83282
Poruke: 390
*.xnet.hr.



Profil

icon Re: indirektno pozivanje formi11.05.2007. u 12:45 - pre 206 meseci
A da se pogleda linije -dve koda ???
 
Odgovor na temu

vladdy
Chicago, USA

Član broj: 30119
Poruke: 137
*.dsl.emhril.ameritech.net.

Sajt: www.pro-transport.com


Profil

icon Re: indirektno pozivanje formi11.05.2007. u 15:46 - pre 206 meseci
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.

[Ovu poruku je menjao vladdy dana 11.05.2007. u 17:19 GMT+1]
http://www.pro-transport.com - The most advanced trucking software on the market
 
Odgovor na temu

mmwlada
Vladimir Milovanović
Web developer, U.S. Steel Serbia

Član broj: 99390
Poruke: 62
195.252.78.*

Sajt: www.tetraedar.net/mmwlada


+1 Profil

icon Re: indirektno pozivanje formi11.05.2007. u 20:05 - pre 206 meseci
Ili u C#:
Code:

Form mojaForma = Activator.CreateInstance(Type.GetType("Mara"));
mojaForma.Show();

 
Odgovor na temu

Neznalica_sa_ugla
split

Član broj: 83282
Poruke: 390
*.xnet.hr.



Profil

icon Re: indirektno pozivanje formi11.05.2007. u 23:16 - pre 206 meseci
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 ...
 
Odgovor na temu

[es] :: .NET :: indirektno pozivanje formi

[ Pregleda: 2614 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.