» Poradna » Programy

C# Automaticky spustit událost tlačítka ve Form1 při uzavření Form2

Odpovědět  |  Zobrazit bez stromu  |  Upozornit redakci  |  nových odpovědí: 6/6
 |   |  Microsoft Windows 7 Firefox 15.0  |  [88.146.153.---]

Zdravím hodné lidi z poradny - hlavně zkušenější programátory.Mám tlačítko Hledat (událost Click) ve Forms1 - nastaveno na Public.Jde mi o to, aby se tohle tlačítko "samo stisklo" při uzavření Forms 2To znamená: Form1 public void tlac_hledat_Click(object sender, EventArgs e) { bla blab bla ----Form2 private void Form2_FormClosing(object sender, FormClosingEventArgs e) { form1.tlac_hledat.PerformClick(); form1.tlac_hledat_Click(form1, new EventArgs()); form1.tlac_hledat.Click += new System.EventHandler(form1.tlac_hledat_Click);V kódu Form2 jsem napsal všechny možnosti, které jsem zkoušel a prostě mi to tlačítko ani jeden ze způsobů při uzavření Form2 samo nespustí ! Děkuji za tipy

Odpovědi na otázku

 |   |  Microsoft Windows 7 Firefox 15.0

Tak způsobů je několik.Nejjednodušší pro tebe bude asi VE FORMu1 to udělat takto: private void button1_Click(object sender, EventArgs e) { Frm2.Show(); tlac_hledat_Click(null, null); // Zde se zavolá metoda po uzavření Frm2 }

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 15.0  |  [88.146.153.---]

Děkuji za tip, to mě nenapadlo spouštět z Form1..Každopádně bohužel se to nespustí..Musím zase kliknout ručně :(

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 15.0

No...Ono jde o to, zda se přeruší smyčka zpráv, nebo se založí pro každý dialog vlastní. To jen, aby řeč nestála.Píšu to z hlavy, pač tady nemám VS a dělám v jiných jazycích.Potom zkus zavolat metodu:Frm2.ShowDialog(this);If a form is displayed as modal, the code following the ShowDialog method is not executed until the dialog box is closed. However, when a form is shown as modeless, the code following the Show method is executed immediately after the form is displayed.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 15.0  |  [88.146.153.---]

Ty jsi ďábel ! Joo, pomohlo to. Stejně je mi to divné. Protože to bylo vždycky jako to poslední, co se mělo vykonat, takže přerušit smyčka by se neměla, když to byl poslední "příkaz" . To nevadí.Každopádně to funguje na Form2t.ShowDialog(this);tlac_hledat_Click(null, null);Mě fascinuje, jak taková krávovina dokáže člověka zasekat !Alespoň jsem se dobře poučil.MOCKRÁT DĚKUJI ZA OCHOTU !!!

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Opera 9.80  |  [90.181.101.---]

2 poznámky úvodem a) "klikání" na tlačítka kódem je (kromě automatizovaných testů) hloupostb) přepisování vygenerovaného kódu designeru (myslím to přepsání access modifieru na public) není taky 2x rozumnés ohledem na výše uvedené by to mohlo vypadat takto:public class Form1 : Form{......private void button1_Click(object sender, EventArgs e){ Form2 f2 = new Form2(); f2.SetRef(this); f2.Show();}public void ClickButton(){ button2.PerformClick();}private void button2_Click(object sender, EventArgs e){ MessageBox.Show("click");}}public class Form2 : Form{private Form1 form1;......private void Form2_FormClosing(object sender, FormClosingEventArgs e){ this.form1.ClickButton();}public void SetRef(Form1 form1){ this.form1 = form1;}}

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 15.0  |  [88.146.153.---]

Máte pravdu, přepsání modifikátoru na Public jsem volil úplně jako tu poslední šanci, když už jsem opravdu nevěděl jak dál. Kód samozřejmě ještě zkusím upravit zpátky na Private podle Vašeho psaní.Také děkuji za ochotu

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Událost, Void



Určitě si přečtěte


Čína vyvíjí ohromná hejna tisícovek malých dronů

Čína vyvíjí ohromná hejna tisícovek malých dronů

** Vývoj hejnové inteligence pro drony v Číně nabírá na rychlosti ** Velká hejna dronů mají podle odborníků značný potenciál pro vojenské využití i pro bezpečnostní aplikace ** Číňané se navíc s drony neomezuje jenom na zemský povrch a okolí, ale poohlížejí se i po vesmíru

11.  1.  2018 | Stanislav Mihulka | 3

Genetika a příjmení: Unikátní možnost získat test Y-DNA zdarma a dozvědět se o svých předcích

Genetika a příjmení: Unikátní možnost získat test Y-DNA zdarma a dozvědět se o svých předcích

** Projekt Genetika a příjmení hledá shody mezi osobami se stejným příjmením ** Využívá k tomu testování DNA na chromozomu Y ** Výsledky testu můžete účastí v projektu získat zdarma

11.  1.  2018 | Marek Lutonský | 2


Aktuální číslo časopisu Computer

Zachraňte nefunkční Windows

Jak nakupovat a prodávat kryptoměny

Otestovali jsme konvertibilní notebooky

Velký test 14 herních myší