Avatar
matesax
Redaktor
Avatar
matesax:

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 Čápka
Tým ITnetwork
Avatar
Odpovídá na matesax
David Čápka:

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
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
matesax
Redaktor
Avatar
Odpovídá na David Čápka
matesax:

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 Čápka
Tým ITnetwork
Avatar
Odpovídá na matesax
David Čápka:

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
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
matesax
Redaktor
Avatar
Odpovídá na David Čápka
matesax:

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 Čápka
Tým ITnetwork
Avatar
Odpovídá na matesax
David Čápka:

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
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
matesax
Redaktor
Avatar
Odpovídá na David Čápka
matesax:

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 Čápka
Tým ITnetwork
Avatar
Odpovídá na matesax
David Čápka:

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

Nahoru Odpovědět 19.5.2012 9:54
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Odpovídá na matesax
David Jančík [sczdavos]:

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
Čím více času dostaneš, tím méně ho máš.
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.