Re[4]: Одна форма над другой
От: Dumka  
Дата: 19.02.08 11:46
Оценка:
Здравствуйте, tyger, Вы писали:

T>Здравствуйте, Dumka, Вы писали:


T>Продолжая мысль, предполагаем, что у Вас есть главная форма Вашего приложения, называемая MainForm, наследник от Form.

T>Она создана и в данный момент выполняется. На этой форме существует некий Button, который выводит на экран диалоговое модальное окно, которое должно быть в топе. Тогда код можно представить так:
T>
T>class MainForm:Form
T>{
T>...
T>Button essentialButton = new Button("click here");
T>...

T>essentialButton.Click += new System.EventHandler(essentialButton_ClickHandler);

T>void essentialButton_ClickHandler(object sender, EventArgs e)
T>{
T>    TopForm form = new TopForm();
T>    form.ShowDialog(this);
T>}
T>}

T>class TopForm:Form
T>{}
T>


Спасибо, теперь всё заработало, только возникла такая проблема — на нижней форме есть кнопка, так вот если происходила работа с верхней формой (то есть она активна) и в этот момент щелкнуть по кнопке на нижней, то по первому щелчку происходит активация нижней формы, а только по второму — обработка нажатия кнопки. Данный эффект крайне нежелателен — нужно сделать, чтобы отработка нажатия на кнопку происходила по первому щелчку. Сейчас делаю так — обрабатываю событие MouseHover кнопки и по нему произвожу активацию нижней формы, всё работает нормально за исключением того, что активация формы происходит даже если работа ведется в другом приложении, а курсор мыши случайно попал на кнопку в этой форме. Подскажите, пожалуйста, как решить эту проблему.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.