Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> tabpage. сделать так, чтобы пользователь не, мог уйти, не сохранив извемения 
V
    Опции темы
St33l
Дата 14.3.2010, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 16.6.2007

Репутация: нет
Всего: нет



на закладке tpStart имеются текстбоксы. если пользователь что-то изменил в них, то нужно запретить ему покидать закладку, пока не сохранит.

написал такой код:

Код

            if (btnSaveIsh.Enabled)
            {
                if (MessageBox.Show("Изменения не были сохранены. Сохранить?", "Внимание", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) == DialogResult.OK)
                {
                    Savedata();
                }
                else
                {
                    TabControl.SelectTab(tpStart);
                }
            }


Закинул его в обработку события Leave для tpStart. Но почему-то когда пользователь нажимает "отмена" в диалоговом окне, то его не перекидывает обратно на tpStart, хотя блок else обрабатывается.
PM   Вверх
Certain
Дата 1.4.2010, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 18.6.2008
Где: Moscow

Репутация: 3
Всего: 4



1. обрабатываем событие Selecting у TabControl`a

Код

        private void tabControl1_Selecting(object sender, TabControlCancelEventArgs e)
        {
           if (MessageBox.Show("Изменения не были сохранены. Сохранить?", "Внимание", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) == DialogResult.OK)
                {
                    MessageBox.Show("ДЕЙСТВИЕ");
                }
                else
                {
                    e.Cancel = true;
                }
        }


2. аналогично обработать событие закрытия формы FormClosing

Код

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (tabControl1.SelectedIndex == 0)
            {
                if (MessageBox.Show("Изменения не были сохранены. Сохранить?", "Внимание", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) == DialogResult.OK)
                {
                    MessageBox.Show("ДЕЙСТВИЕ");
                }
                else
                {
                    e.Cancel = true;
                }
            }
        }


Это сообщение отредактировал(а) Certain - 1.4.2010, 17:14
--------------------
Работа программиста и шамана имеет много общего - оба боpмочyт непонятные слова, совершают непонятные действия и не могут объяснить, как оно работает.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0828 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.