Nejste přihlášen/a.
Dobry den,
potreboval bych poradit. Delam jednu aplikaci ve visual studiu (C#) a mam ve formulari vytvorene tlacitko a na nej mam vazanou udalost onclick. V teto udalosti je docela dlouhy kod. Nyni mam druhe tlacitko, na ktere kdyz kliknu bych chtel aby se spustilo to co je v udalosti pro prvni tlacitko. Chtel bych udelat neco takoveho:
private void button2_Click(object sender, EventArgs e) {
button1_Click();
}
Ale toto proste nefunguje Poradi nekdo prosim?
Co tak přesunout tenhle dlouhý kód dovnitř samostatné metody uvnitř té classy a pak to volat takhle:
private void button1_Click(object sender, EventArgs e) { funkce(sender, e); }
private void button2_Click(object sender, EventArgs e) { funkce(sender, e); }
Jestli nepotřebujete vědět, na co se kliklo, bude to stačit i bez parametrů.
Ano to je jedna z moznosti, ale ted jsem zjistil, ze pitrebuji na stisk tlacitka zvalidovat data v dataGridview metodou dataGridView1_CellValidating, nevite jak vyresit toto?
Asi to spatne vysvetluji. Mam ve formulari komponentu dataGridView a u ni mam nastavenou udalost dataGridView1_CellValidating, kde je kod, ktery slouzi ke kontrole obsahu jednotlivych bunek, ktere zrovna uzivatel vyplnil. V pripade spatneho vyplneni se nastavi e.Cancel a nepusti ho to z patricne bunky.
Pokud ale kliknu na tlacitko mimo zalozku kde je umisteny dataGridView, tak me to nespusti tu validaci, tudiz ji potrebuji spustit pri stisku tlacitka jako prvni, ale nevim jak to udelat pac za udalost ma 2 argumenty "sender" a "e". A to je to na co se ptam S tim momentalne zapasim ale bez uspesne
To tlačítko provádí změny uvnitř datagridu, které mohou způsobit, že datagrid nebude validní? Mám za to, že když vemete kolekci .Rows a změny každého řádku budou prováděny přes .DataBoundItem (tedy v modelu, ne v zobrazení), tak se všechny odpovídající eventy normálně spustí, tedy se bude validovat všechno, co se validovat má.
Aspoň teda doufám, že to tak je.. bych to musel na něčem vyzkoušet.
No slo mi jen o to, za mohu tu vytvorenou udalost spustit manualne prave tim stiskem tlacitka stejne tak jako kdyz spoustim libovolnou funkci kterou si vytvorim. Ono ta udalost je v podstate funkce, ale ma ty 2 parametry. Zajimave je to, ze kdyz mam toto tlacitko primo v zalozce kde se nachazi ten datagridView, tak se ta validace spusti automaticky ale dam tlacitko mimo zalozku, tak to validaci neprovede.
Asi to nebude tim ze pouzivam misto klasickeho buttonu tooStripButton?
Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.
Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.