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
Jakub Bořucký:24.3.2016 21:32

Ve třídě mám založený button, chci aby po kliknuti něco nastalo. Jde to nějak pod ifem? Checked mi nějak nešel.

 
Odpovědět
24.3.2016 21:32
Avatar
Odpovídá na Jakub Bořucký
Michael Škrášek:24.3.2016 21:36

Stačí buttonu nastavit event:

button.Click += new EventHandler(click);

A do třídy vložíš:

private void click(object sender, EventArgs e)
{
        //co nastane po kliknutí
}
Editováno 24.3.2016 21:37
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
24.3.2016 21:36
"I choose a lazy person to do a hard job. Because that person will find an easy way to do it. " Bill Gates
Avatar
Odpovídá na Michael Škrášek
Jakub Bořucký:24.3.2016 21:43

Supr, moc diky.

 
Nahoru Odpovědět
24.3.2016 21:43
Avatar
ostrozan
Tvůrce
Avatar
Odpovídá na Jakub Bořucký
ostrozan:24.3.2016 23:23

nebo v designeru dvakrát klikni na ten button a metoda se ti vytvoří automaticky
nebo tamtéž v okně properties si vyber událost - třeba Click, nebo jinou a dvakrát klikni do prázndého okenka vedle ní - taky se ti automaticky vygeneruje metoda

stejně u všech ostatnich kontrolek

Editováno 24.3.2016 23:24
 
Nahoru Odpovědět
24.3.2016 23:23
Avatar
Odpovídá na ostrozan
michaelbeats7:25.3.2016 12:24

Jenže ten button nemám založený v designu, ale ve třídě :)

 
Nahoru Odpovědět
25.3.2016 12:24
Avatar
ostrozan
Tvůrce
Avatar
Odpovídá na michaelbeats7
ostrozan:25.3.2016 16:11

Takže alter ego? :-)

Jinak button ve třídě, pokud k tomu nemáš hodně speciální důvody - je hodně špatné řešení.

 
Nahoru Odpovědět
25.3.2016 16:11
Avatar
Marian Benčat:25.3.2016 16:51

Proč by to bylo špatné řešení? :-) Button v obecne tride je spatne reseni, button ve tride dedici od nejake tridy, ktera patri do UI frameworku je naprosto v pořádku,.. jak si myslíte, že je jako uloženo, když něco přidáte do designera? :-)

Asi to pro vas bude šok, ale pokud neco pridate do designera (napříkald button), tak se vytvoři jen private member v partial třídě:

private System.Window­s.Forms.Button button1;

Takže říct, že mít button ve třídě je špatné řešení, je zavádějící.. Pokud umístíte prvek fe Formu v designeru (což je jen graficka reprezentace třídy a nic víc), tak se do vašeho formu (do třídy) přida v partial třídě jen private member. Todle je rozdíl oproti například WPF.

Nahoru Odpovědět
25.3.2016 16:51
Totalitní admini..
Avatar
Marian Benčat:25.3.2016 16:53

Dynamické componenty ani jinak než přes kód psát nemůžete.

Nahoru Odpovědět
25.3.2016 16:53
Totalitní admini..
Avatar
ostrozan
Tvůrce
Avatar
Odpovídá na Marian Benčat
ostrozan:25.3.2016 19:45

Dynamické componenty ani jinak než přes kód psát nemůžete.

to je jasné - o tom se ale nebavím
tvoje agumenty beru, ale já spíš myslel to, že i ve WF (pokud dělá ve WF - to já nevím - nejde to identifikovat) by měl ctít nějaké oddělení logiky od prezentace - nemluvím zrovna o MVVC ( kdyby teda dělal ve WPF) a bez urážky tazatele - začátečníkovi (soudím podle toho, že neznal celkem základní věc jako je handler na událost) bych spíš radil , aby kotrolky/UI elementy - byť dynamicky vytvářené nechal MainFormu/ Code behind - podle WF, nebo WPF

osobně nevidím důvod - vyjma "výroby" nové kontrolky( to by ale snad bylo lepší přes User control)/UI elementu jehož jednou součástí je button proč buttony vytvářet instancí nějaké jiné třídy

 
Nahoru Odpovědět
25.3.2016 19:45
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.