Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Tom Blechy
Člen
Avatar
Tom Blechy:10.3.2016 14:31

mám několik formulářů formulářem 1 otevřu formulář 2
tam mám 2 tlačítka:
tlačítko1 má zavřít formulář 2 a otevřít první, funguje to přesně jak má (jiným způsobem mi to nefungovalo správně)
tlačítko 2 má zavřít jak formulář 2 tak formulář 1 a otevřít formulář 3

// formulář 1 a otevírání formuláře 2
Form2 form2 = new Form2();
            this.Hide();
            form2.ShowDialog();
            this.Show();

// formulář 2 tlačítko 1 (zavírání f2 a otevírání f1)
Close ();

teď část co mi nefunguje

// tlačítko 2 form 2 a otevírání formuláře 3 (nezávislého)
From3 form3=new Form3();
form3.show();

a dál nevím jak zavřít první a druhé okno

 
Odpovědět
10.3.2016 14:31
Avatar
Odpovídá na Tom Blechy
Michal Štěpánek:10.3.2016 14:33

Nemůžeš zavírat "hlavní" formulář (1.okno), protože se ti tím zavře aplikace.
V posledním kódu máš místo "Form" napsáno "From"

Editováno 10.3.2016 14:34
Nahoru Odpovědět
10.3.2016 14:33
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
ostrozan
Tvůrce
Avatar
Odpovídá na Tom Blechy
ostrozan:10.3.2016 15:32

Nemůžeš zavřít ani druhé okno, protože z něj voláš třetí okno a po jeho zavření by se program neměl kam vrátit.
A máš tam další chybu :
form3.show() s malým s

 
Nahoru Odpovědět
10.3.2016 15:32
Avatar
Odpovídá na Tom Blechy
Michal Štěpánek:10.3.2016 15:42

A pokud chceš jakýmkoliv způsobem ovládat nějaký form (např. Form2) z jiného formu (Form3), tak musíš z Form2 předat do Form3 nějakou vazbu na Form2, například instanci toho Form2. Jinak to nejde.

Nahoru Odpovědět
10.3.2016 15:42
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Tom Blechy
Člen
Avatar
Odpovídá na Michal Štěpánek
Tom Blechy:10.3.2016 18:07

teoreticky kdybych měl formuláře na sebe napojené takhle? form1-form2-form3-form4 a chtěl bych čtvrtým vypnout ten druhý? šlo by to?

 
Nahoru Odpovědět
10.3.2016 18:07
Avatar
ostrozan
Tvůrce
Avatar
Odpovídá na Tom Blechy
ostrozan:10.3.2016 18:17

Nešlo - jak je postupně otvíráš, tak je zpětně musíš postupně zavírat.

A musíš to řešit novýma oknama?

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
10.3.2016 18:17
Avatar
Tom Blechy
Člen
Avatar
Odpovídá na ostrozan
Tom Blechy:10.3.2016 18:30

no tak nějak nic jinýho neumim :/ no děkuju za rady :D

 
Nahoru Odpovědět
10.3.2016 18:30
Avatar
Odpovídá na Tom Blechy
Michal Štěpánek:10.3.2016 18:49

A jestli se to teprve učíš, tak se neuč WinForms, ale jdi rovnou do WPF, je to technologicky mnohem dále než WF a WF budou postupně odcházet do "věčných lovišť"...

Nahoru Odpovědět
10.3.2016 18:49
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Petr Čech
Tvůrce
Avatar
Odpovídá na Tom Blechy
Petr Čech:10.3.2016 19:26

Ještě abych doplnil Michal Štěpánek, pokud chceš argumentovat, že WF je jednoduché tak já preferuji pojem "omezující", na což budeš narážet čím dál častěji. Vlastně neexistují seriózní argumenty pro WF, WPF je lepší snad ve všem (no dobře, rychlost trochu pokulhává). Navíc WF prvky se dají používat i v WPF.

Nahoru Odpovědět
10.3.2016 19:26
the cake is a lie
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.