Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
matesax
Tvůrce
Avatar
matesax:19.5.2012 6:21

Dobrý den,
potřebuji toto:

Form3 myForm3 = new Form3(this);

použít pro celou class. Tedy když to zadám mimo metodu, tak to mohu používat všude, ale this nejde. Když to dám do metody, nelze to použít všude, ale this jde... :)

 
Odpovědět
19.5.2012 6:21
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na matesax
David Hartinger:19.5.2012 8:15

Tvým příspěvkům vždycky porozumím až mi je 2x vysvětlíš :D

Moc to nechápu, ale jestli chceš něco dostat do Form3, tak si nadeklaruj vlastní konstruktor co bere instanci třídy a tu předej a ulož do privátní proměnné.

Nahoru Odpovědět
19.5.2012 8:15
You are the greatest project you will ever work on.
Avatar
matesax
Tvůrce
Avatar
Odpovídá na David Hartinger
matesax:19.5.2012 8:31

Využívám ve formu3

public Form3(Form callingForm)

takže při vytváření formu3 potřebuji specifikovat parametr "this". Tedy

Form3 myForm3 = new Form3(this);

Jde mi o to this. To lze použít jen v metodě. Ale já potřebuji vytvořit nový form3, který mohu dále používat - abych z něj mohl brát metody. Třeba

this.label1.Font = myForm3.Pismo();

Tento příkaz mám ve funkci. Nemohu vytvářet form3 ve funkci ve které využívám metody z formu3, protože form3 otevírám jinou metodou. Mám tedy metodu na utevření formu3 a v jiné funkci z formu3 beru metody. Takže form3 musím vytvořit mimo jakoukoli metodu - tedy volně v class formu1 a form3 nesmím ukončit - jen ho pomocí Hide() skryji,... Ale mimo metody nelze použít parametr this - tak co s tím? Děkuji. :)

 
Nahoru Odpovědět
19.5.2012 8:31
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na matesax
David Hartinger:19.5.2012 9:20

Promiň, ale v tomhle se zaprvé ztrácím a zadruhé to vypadá na špatný návrh.

Nerozumím tvrzení, že this lze použít jen v metodě, kam tedy ten kód píšeš, když v C# je všechno metoda o_O

Nahoru Odpovědět
19.5.2012 9:20
You are the greatest project you will ever work on.
Avatar
matesax
Tvůrce
Avatar
Odpovídá na David Hartinger
matesax:19.5.2012 9:26

No když to nechám volně plavat v class tak mi to podvlní a napíše chybovou hlášku.

 
Nahoru Odpovědět
19.5.2012 9:26
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na matesax
David Hartinger:19.5.2012 9:46

Nenapadá mě, co píšeš volně do class, jedině inicializaci a tu můžeš udělat v konstruktoru...

Nahoru Odpovědět
19.5.2012 9:46
You are the greatest project you will ever work on.
Avatar
matesax
Tvůrce
Avatar
Odpovídá na David Hartinger
matesax:19.5.2012 9:48

Form3 myForm3 = new Form3(this); Musím napsat volně v class - abych mohl využívat věci z formu3 ve více metodách,...

 
Nahoru Odpovědět
19.5.2012 9:48
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na matesax
David Hartinger:19.5.2012 9:54

Ne, to tedy nemusíš. Stačí jen Form3 myForm3; Do myForm3 si potom dosaď v konstruktoru.

Nahoru Odpovědět
19.5.2012 9:54
You are the greatest project you will ever work on.
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na matesax
David Jančík:19.5.2012 11:48

Cau v tom form 3 si dej do konstruktoru jako parametr konkretni form tj. Public Form3(Form1 myParrent)

Nahoru Odpovědět
19.5.2012 11:48
Zapomeň, že je to nemožné a udělej to ;)
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.