Avatar
Jakub Bořucký:

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. března 21:32
Avatar
Odpovídá na Jakub Bořucký
Michael Škrášek:

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. března 21:37
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 24. března 21:36
Proč to dělat složitě, když to jde jednoduše.
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Jakub Bořucký
ostrozan:

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. března 23:24
 
Nahoru Odpovědět  +1 24. března 23:23
Avatar
Odpovídá na ostrozan
michaelbeats7:

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

 
Nahoru Odpovědět 25. března 12:24
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na michaelbeats7
ostrozan:

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. března 16:11
Avatar
Marian Benčat
Redaktor
Avatar
Marian Benčat:

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. března 16:51
Avatar
Marian Benčat
Redaktor
Avatar
Marian Benčat:

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

 
Nahoru Odpovědět 25. března 16:53
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Marian Benčat
ostrozan:

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  +1 25. března 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.