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
United121CZ
Člen
Avatar
United121CZ:28.7.2013 10:53

Potřebuji aby když kliknu na tlačítko tak se otevře nové okno ve kterém něco vyberu ale to první okno musí na tu odpověd ( na to co jsem vybral ve druhém okně ) počkat. Nějaké nápady? Přemejšlel jsem jestli by to nešlo přes vlákna(ale s těmi moc zkušeností nemám) tak jestli neni ještě jinej způbob?

Jinak to co vyberu mám ošetřené tak že předávám nezávislou třídu kde se odpověd uchovává ... pro lepší pochopení se pokusim přidat část kódu :

partial class HraciPole : Form
{
private void konecHazeniHrace(object sender, EventArgs e)
{
FormSOtazky soubourOtazek = new FormSOtazky(otazkyLokalniPromnenna);
soubourOtazek.Show();
//  jsem něco aby to počkalo na to jak dopadne ten druhý ...
}
}
public partial class FormSOtazky : Form
    {
public FormSOtazky(Otazky otazkyZadane)
        {
            InitializeComponent();
            this.aktualniOtazka = otazkyZadane;
        }
// 4 tlačítka ve kterých je :
private void klik1(object sender, EventArgs e)
        {
            aktualniOtazka.JeSpravne(moznost1.Text);
            System.Threading.Thread.Sleep(1500);
            this.Close();
        }
}

snad jste mě pochopili :)

 
Odpovědět
28.7.2013 10:53
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovídá na United121CZ
Theodor Johnson:28.7.2013 10:57

Není třeba řešit více vláken stačí použít možnost ShowDialog(), pokud budou mít ty tlačítka možnost dialog result

var result = dialog.ShowDialog();

            // kód se spustí až po tom co se zavře form dialog

            if (result == System.Windows.Forms.DialogResult.OK)
            {

            }
Nahoru Odpovědět
28.7.2013 10:57
Mo8ilε 15 Ѐλđ
Avatar
United121CZ
Člen
Avatar
Odpovídá na Theodor Johnson
United121CZ:28.7.2013 11:22

Napsal jsem tohle

FormSOtazky soubourOtazek = new FormSOtazky(otazkyLokalniPromnenna);
soubourOtazek.ShowDialog();
soubourOtazek.Dispose();

a fungovalo to taky ... tak doufám že to neni náhoda :)

 
Nahoru Odpovědět
28.7.2013 11:22
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovídá na United121CZ
Theodor Johnson:28.7.2013 11:25

Není to náhoda, dialog je od toho že další řádek kódu počká až se form zavře, proto taky při otevřeném ShowDialog() nejde kliknout do formu který jej zavolal

Nahoru Odpovědět
28.7.2013 11:25
Mo8ilε 15 Ѐλđ
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 4 zpráv z 4.