» Poradna » Programy

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

 |   |  Microsoft Windows 7 Firefox 15.0

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

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

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

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

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

Inteligentní akvárium Bluenero se o rybičky postará samo

Inteligentní akvárium Bluenero se o rybičky postará samo

** Chcete chovat akvarijní rybičky, ale nemáte čas se o ně starat? ** Chytré akvárium je samo nakrmí a postará se o jejich komfort ** Projekt Bluenero zatím sbírá finance na Indiegogo

Karel Kilián | 20

Pojďme programovat elektroniku: Když už vás ten chumel součástek prostě nebaví

Pojďme programovat elektroniku: Když už vás ten chumel součástek prostě nebaví

** Levné cetky z Asie stojí dolar ** Postavíte s nimi skoro vše od teploměru po spínač zavlažování ** Má to ale jeden háček. Bude to ošklivé a povětšinou nekvalitní

Jakub Čížek | 22

Byli tam! Důkazy o přistání na Měsíci, Lunochody i čínská sonda jsou vidět z vesmíru

Byli tam! Důkazy o přistání na Měsíci, Lunochody i čínská sonda jsou vidět z vesmíru

** Sonda LRO pořídila z oběžné dráhy Měsíce zajímavé snímky ** Jsou na nich vidět artefakty všech misí programu Apolla, které přistály na povrchu Měsíce ** Jde například o části lunárních modulů, rovery a dokonce i vlajky

Petr Kubala | 65

Solární panely v silnici vypadaly jako dobrý nápad. V praxi se ale neosvědčily

Solární panely v silnici vypadaly jako dobrý nápad. V praxi se ale neosvědčily

** Nápad použít na silnice místo asfaltu solární panely vypadal slibně ** Praktické testy však odhalily celou řadu nevýhod ** Nejhorší je směšná účinnost ve srovnání s fotovoltaickou elektrárnou

Karel Kilián | 62

Podívejte se, co se stane, když dron DJI Phantom narazí do křídla letadla

Podívejte se, co se stane, když dron DJI Phantom narazí do křídla letadla

** Co se může stát, když relativně maličký dron narazí do křídla letadla? ** Tuto otázku zodpověděli odborníci laboratorním pokusem ** Kvadrokoptéra způsobila významné poškození křídla

Karel Kilián | 18

ELONOVINKY: Druhá strana popularity – servisy Tesly jsou přeplněné a nestíhají

ELONOVINKY: Druhá strana popularity – servisy Tesly jsou přeplněné a nestíhají

** Automobilka Tesla neustále zvyšuje prodeje svých vozů ** S kvapně rostoucím počtem nových majitelů Tesel ale stoupá i počet zákazníků servisů ** Servisy Tesly nestíhají, firma proto řeší další akutní problém

Petr Melechin, Karel Dlabač | 73


Aktuální číslo časopisu Computer

Jak vytvořit a spravovat vlastní web

Velký test herních klávesnic a DVB-T2 tunerů

Vše o formátu RAW

Vybíráme nejlepší základní desku