» 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



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


Tesla chce změnit nákladní dopravu. Její elektrický náklaďák má ohromující parametry

Tesla chce změnit nákladní dopravu. Její elektrický náklaďák má ohromující parametry

** Tesla představila elektrický kamion ** Má obdivuhodný výkon i dojezd ** Prodávat by se měl už za dva roky

17.  11.  2017 | Vojtěch Malý | 199

Elektronika, která nepotřebuje kabel ani baterii. Živí se rádiovým šumem

Elektronika, která nepotřebuje kabel ani baterii. Živí se rádiovým šumem

** Každá elektrická krabička má konektor pro napájení nebo baterii ** Jenže pozor, jednou by to tak nemuselo být ** Drobná elektronika se může živit rádiovými vlnami

14.  11.  2017 | Jakub Čížek | 15

Nejlepší notebooky do 10 tisíc, které si teď můžete koupit

Nejlepší notebooky do 10 tisíc, které si teď můžete koupit

** I pod hranicí desíti tisíc korun existují dobře použitelné notebooky ** Mohou plnit roli pracovního stroje i zařízení pro zábavu ** Nejlevnější použitelný notebook koupíte za pět a půl tisíce

16.  11.  2017 | Stanislav Janů | 53