none
Что такое AcceptButton? RRS feed

  • Вопрос

  • На msdn я понял что оно делает так, чтобы кнопка срабатывала когда пользователь нажмёть клавишу Enter.

    Вопрос в том какое событие кнопки срабатывает?

Ответы

  • Наличие таких свойств это дань стандартизации. Представьте вы открываете программу, например блокнот. Дальше идете в пункт меню "Формат > Шрифт...". Потом передумали и жмете ESC - окно закрылось. Потом опять надумали, снова идете в это окошко и меняете тип шрифта "обычный" на "полужирный" и жмете Enter - настройки применились, окошко закрылось. Такое поведение норма и все к нему привыкли, поэтому вы как разработчик должны помнить что программа должна вести себя так как ожидает пользователь.

    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    • Помечено в качестве ответа Abolmasov Dmitry 4 июня 2012 г. 8:48
    Отвечающий
  • Событие Click.
    • Помечено в качестве ответа Ziya Ceferov 31 мая 2012 г. 9:48
    Модератор
  • Система кнопок AcceptButton и СancelButton предназначены для диалоговых окон (не обязательно но практически всегда). Если в вашем диалоговом окне есть кнопки OK и Отмена, то будет правильным назначить их соответствующим свойствам. При нажатии кнопок Enter и ESC будут вызваны события Click соответствующей кнопки. Мало того для CancelButton вы можете даже не задавать никаких действий при нажатии ESC окно диалога закроется а его DialogResult вернет Cancel.

    Ни AcceptButton, ни CancelButton не сработают если фоку на элементе который принимает нажатие кнопок Enter и ESC (например TextBox).


    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    • Помечено в качестве ответа Ziya Ceferov 31 мая 2012 г. 9:48
    Отвечающий

Все ответы

  • Добрый день.

    Вызывается, также как и при клике на кнопку мышкой, событие: Click.


    Отвечающий
  • Событие Click.
    • Помечено в качестве ответа Ziya Ceferov 31 мая 2012 г. 9:48
    Модератор
  • С ним или без него если кнопка фокусирована то при нажатии Enter серавно срабатывает событие Click,

    и ещё если подключить AcceptButton и если кнопка не фокусирована то событие Click при нажатии Enter не срабатывает.

  • Система кнопок AcceptButton и СancelButton предназначены для диалоговых окон (не обязательно но практически всегда). Если в вашем диалоговом окне есть кнопки OK и Отмена, то будет правильным назначить их соответствующим свойствам. При нажатии кнопок Enter и ESC будут вызваны события Click соответствующей кнопки. Мало того для CancelButton вы можете даже не задавать никаких действий при нажатии ESC окно диалога закроется а его DialogResult вернет Cancel.

    Ни AcceptButton, ни CancelButton не сработают если фоку на элементе который принимает нажатие кнопок Enter и ESC (например TextBox).


    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    • Помечено в качестве ответа Ziya Ceferov 31 мая 2012 г. 9:48
    Отвечающий
  • Я так понял в отличии AcceptButton нажатие кнопки ESC не сработает если не подсоединить кнопке функцию CancelButton.

    Кароч это не особо важные функции.


  • Наличие таких свойств это дань стандартизации. Представьте вы открываете программу, например блокнот. Дальше идете в пункт меню "Формат > Шрифт...". Потом передумали и жмете ESC - окно закрылось. Потом опять надумали, снова идете в это окошко и меняете тип шрифта "обычный" на "полужирный" и жмете Enter - настройки применились, окошко закрылось. Такое поведение норма и все к нему привыкли, поэтому вы как разработчик должны помнить что программа должна вести себя так как ожидает пользователь.

    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    • Помечено в качестве ответа Abolmasov Dmitry 4 июня 2012 г. 8:48
    Отвечающий