Синхронизация форм

Что-то я запутался совсем   Изложу задачу в упрощённой форме:Допустим есть форма. По нажатию на кнопку происходит выполнение некоторых операций, затем создаётся и вызывается другая форма, и после этого необходимо приостановить поток до дальнейших указаний. После некоторых действий пользователя на форме №2 поток формы 1(а точнее процедура обработки нажатия клавиши) продолжается. Внимание! Модальное окно не подходит, т.к. после этого оба окна продолжают жить! Попытался реализовать через AutoResetEvent, но что-то не вышло. 
5 ответов

Модальное окно не подходит
artstalker, почему не подходит? Вот так ведь работает так как тебе надо:
    // некий код    Form2 frm = new Form2();    frm.ShowDialog(this);    // сюда управление передастся [U]только[/U] когда Form2 закроют или спрячут


Цитата(artstalker @  24.4.2009,  04:11 )
Модальное окно не подходит
artstalker, почему не подходит? Вот так ведь работает так как тебе надо:
    // некий код    Form2 frm = new Form2();    frm.ShowDialog(this);    // сюда управление передастся [U]только[/U] когда Form2 закроют или спрячут
Привет.) Не подходит, потому что вторая форма не должна закрываться. Т.е. грубо говоря я нажал что-то на форме 2: в процедуре формы 1 продолжается выполнение, но и форма 2 осталась работать


Аааа... Как я понял должно быть такое:
private void button1_Click(object sender, EventArgs e){    // некий код    Form2 frm = new Form2();    frm.Show(this);    // сюда управление передастся когда на Form2 что-то сделают,     // но при этом сама Form2 не должна закрыться    // а Form1 продолжать работать паралельно}
Если так, то используй анонимные методы. В Form2 пишешь такой код:
        public Action SomeAction { get; set; }        private void button1_Click(object sender, EventArgs e)        {            this.SomeAction();        }
А в Form1 такой:
private void button1_Click(object sender, EventArgs e){    // некий код    // ....................    Form2 frm = new Form2();    frm.Show(this);    frm.SomeAction = (Action)delegate    {        // сюда управление передастся когда на Form2 нажмут кнопку button1,         // но при этом сама Form2 не закроестя        // а Form1 будет продолжать работать паралельно    };}
Это ты хотел?


Именно!   Спасибо


Как всегда, пожалуйста