Событие Leave и MessageBox в нем
От: Losar Россия  
Дата: 02.08.11 11:24
Оценка:
Привет всем..

Подскажите как решить проблему, на форме есть текстовое поле и кнопка

Обработчики выглядят так:
private void textBox1_Leave(object sender, System.EventArgs e)
{
MessageBox.Show("Save text???");
}

private void button3_Click(object sender, System.EventArgs e)
{
MessageBox.Show("Button click!!!!");
}

Проблема в том, что при нажатии на кнопку, срабатывает событие leave а выскакивает MessageBox("Save text"), но потом уже не обрабатывается нажатие на кнопку. Если удалить MessageBox("Save text") то нажатие на кнопку обрабатывается с первого раза.

Спасибо.
Re: Событие Leave и MessageBox в нем
От: Victor Hytyk Украина  
Дата: 02.08.11 11:43
Оценка:
Ваша проблема имеено в месседжбоксе "Save???", изза него на кнопку идет только событие фокуса, клик не доходит. Если вместо меседж боксов поставить например
private void textBox1_Leave(object sender, EventArgs e)
{
    Debug.WriteLine("leave");
}

private void button1_Click(object sender, EventArgs e)
{
    Debug.WriteLine("click");
}


то глянув в окошко "дебаг" вы тут-же убедитесь что все работает.
Вообще вызывать "окошечка" да еще и диалоговые на Leave плохой дизайн ИМХО.
-----------------------------------------
тут может быть ваша реклама
Re[2]: Событие Leave и MessageBox в нем
От: Losar Россия  
Дата: 02.08.11 12:09
Оценка:
Здравствуйте, Victor Hytyk, Вы писали:

VH>Ваша проблема имеено в месседжбоксе "Save???", изза него на кнопку идет только событие фокуса, клик не доходит. Если вместо меседж боксов поставить например

VH>
VH>private void textBox1_Leave(object sender, EventArgs e)
VH>{
VH>    Debug.WriteLine("leave");
VH>}

VH>private void button1_Click(object sender, EventArgs e)
VH>{
VH>    Debug.WriteLine("click");
VH>}
VH>


VH>то глянув в окошко "дебаг" вы тут-же убедитесь что все работает.

VH>Вообще вызывать "окошечка" да еще и диалоговые на Leave плохой дизайн ИМХО.

А как сделать хороший дизайн? подскажите
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.