Диалоговое окно.Отмена действия

212
26 апреля 2017, 09:03
private void LeaveFromField(object sender, EventArgs e)
{          
    var item = (TabPage)sender;
    DialogResult result = MessageBox.Show(null, "Внимание", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
    if (result == DialogResult.No)
    {
       //
    }                
}

у object sender нет того, что могло бы отменить выход с вкладки, а в EventArgs e кроме стандартных методов для object вообще ничего нет. Как отменить переход с вкладки?

Answer 1

Решено. Повесил обработчик на сам контрол Tab а не на вкладки:

private void SelectTab(object sender, TabControlCancelEventArgs e)   
{       
    DialogResult result = MessageBox.Show
    (
        "Выйти?",
        "Внимание",
        MessageBoxButtons.YesNo,
        MessageBoxIcon.Error
    );
    if (result == DialogResult.No)
    {
        e.Cancel = true;
    }
    if (result == DialogResult.Yes)
    {
        Clear();
    }
}
READ ALSO
Ошибка при заполнении базы данных MS SQL

Ошибка при заполнении базы данных MS SQL

Используя функцию Insert хочу добавить данные в базу данных, но возникает следующая ошибка:

241
Доступ к label slider и т.д. из другого окна

Доступ к label slider и т.д. из другого окна

Ребята, подскажите пожалуйста как получить доступ к элементам окна (label,slider) из обработчика событий другого окна?

233
C# - API для MPC-HC

C# - API для MPC-HC

Добрый деньЕсть ли возможность использовать Media Player Classic Home Cinema как компонент в приложении на WPF? Возможно существуют какие-то библиотеки,...

316
Поменять символы в строке местами

Поменять символы в строке местами

Необходимо ввести через Writeline строку и используя процедуру поменять символы местами наоборот, например:

338