Кнопка Winforms: подразумевает ли Visible = false Включено = false? - PullRequest
6 голосов
/ 15 сентября 2009

Простой вопрос: у меня есть кнопка WinForms, и я хочу сделать ее (условно) невидимой и отключенной (чтобы быть уверенным, что если кто-то щелкнет в области, где находится невидимая кнопка, она не активирует ее). button.Visible = false также подразумевает button.Enabled = false, или мне нужно установить / сбросить оба свойства в соответствующее время?

Ответы [ 4 ]

5 голосов
/ 15 сентября 2009

Если элемент управления не виден, он фактически отключен. Нажатие в области, где оно появится (или вкатывание и выход из этой области), если оно будет видимым, не приведет к возникновению события.

РЕДАКТИРОВАТЬ: Чтобы уточнить, основываясь на других ответах и ​​комментариях, кнопка не отключена, и базовая функциональность события все еще доступна программно , но кнопка не будет физически доступна / отображается в форме, и пользователь не сможет взаимодействовать с ней каким-либо образом (если только вы, как программист, не предоставите другой метод программно ).

1 голос
/ 19 марта 2017

Уверен, если .Visible = false, действие _Click отключено. Например, если вы .PerformClick () в своем коде и .Visible = true, _Click выполнится. Если false, _Click не будет выполняться.

1 голос
/ 15 сентября 2009

Я не думаю, что это означает, что он отключен. Это просто означает, что элемент управления не виден в форме, следовательно, нет никакого способа выполнить действие над ним. Если для свойства visible установлено значение false, а затем вызывается событие Click с помощью кода, оно будет обрабатываться. Однако, если вы установите для свойства Enabled значение False, я думаю, что оно не будет

1 голос
/ 15 сентября 2009

Установка Visible в значение false не изменяет свойство Enabled. Тем не менее, если установить для свойства значение false, элемент управления будет фактически недоступен даже там. Если щелкнуть пустое пространство, оставленное невидимой кнопкой, событие нажатия кнопки не сработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...