Diskuze: Specifikace parametru vytvořeného formu
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
![Avatar](images/avatars/306_thumb.png?v=-62169987464)
Tvůrce
![Avatar](images/avatars/306_thumb.png?v=-62169987464)
Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Tvým příspěvkům vždycky porozumím až mi je 2x vysvětlíš
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é.
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.
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
No když to nechám volně plavat v class tak mi to podvlní a napíše chybovou hlášku.
Nenapadá mě, co píšeš volně do class, jedině inicializaci a tu můžeš udělat v konstruktoru...
Form3 myForm3 = new Form3(this); Musím napsat volně v class - abych mohl využívat věci z formu3 ve více metodách,...
Ne, to tedy nemusíš. Stačí jen Form3 myForm3; Do myForm3 si potom dosaď v konstruktoru.
Cau v tom form 3 si dej do konstruktoru jako parametr konkretni form tj. Public Form3(Form1 myParrent)
Zobrazeno 9 zpráv z 9.