Как сделать кнопку неактивной c

Добавил пользователь Alex
Обновлено: 10.09.2024

на клик по кнопке выполняется действие, его выполнение занимает секунд 7-9 и пользователь за это время может нажать кнопку ещё раз, что приводит к зависанию программы.
можно ли средствами языка XAML сделать кнопку неактивной на несколько секунд?

Alexandr_Erohin

RusNekromant

Ну это асинхронное выполнение. Возможно ему такое не прокатит. Мало ли что там делается может там контрол заполняется из базы и могут возникнуть исключения с обращением не к тому потоку.

Запусти вместо thread тупо таймер и в обработчике tick выполни enabled=true после определенного времени. Я так понял в XAML нет нормальной задержки. Хотя во время выполнения анимации помоиму ты не можешь пользоваться кнопкой. Попробуй анимацию на кнопку определить (если тебе такой вариант подходит).

Как сделать неактивной одну из подветок Treeview? — C++ Builder
Как можно сделать неактивной одну из подветок этого компонента, приведите пример

Как сделать активной кнопку — C++ Builder
Как сделать активной кнопку во время выполнения функции под другой кнопкой что бы можно было остановить, отменить?

Как сделать кнопку прозрачной, но чтобы она нажималась — C++ Builder
Можно ли сделать кнопку прозрачной, но чтобы она нажималась, если можно, то как?

Как сделать переход по ссылке при нажатии на кнопку? — C++ Builder
Здравствуйте.Вопрос в теме, нашел лишь в форме консольного приложения, но меня это не устраивает, как сделать ,чтоб просто при нажатии.

Как сделать модальную так, чтоб она оставляла активную кнопку Свернуть? — C++ Builder
C++ Builder 2009 С основной формы открывается модальное окно, через ShowModal(). При это не работают кнопки в главной форме Свернуть.

Всем доброе утро. Дело было так. писал я значит код и столкнулся с проблемой. Как делать кнопку неактивной, пока в 2 текстБокс-а не введено хотя бы по 1 символу?

Однако кнопки открываемой формы почему-то не деактивируются.
Я посмотрел через отладчик. Свойство "Доступность" у соответствующих кнопок почему-то остаётся равным Истине. Хотя свойство "Доступность" у кнопок, судя по синтакс-помощнику, можно и читать, и записывать. Да и 1С не ругается (если бы было доступно только для чтения, ведь выходила бы ошибка).

Ради интереса я попробовал деактивировать всю панель действий и вместо кнопок написал следующее:

И в этом случае панель действительно стала неактивной. Посмотрел отладчиком - свойство "Доступность" панели стало равно Лжи.

Подскажите, почему отдельно кнопки не деактивируются? Что я не так делаю?

Ранее мы уже рассматривали скрипт, делающий кнопку формы неактивной. Суть скрипта заключалась в том, что некоторые поля формы обязательно должны быть заполнены пользователем перед отправкой формы на сервер, иначе кнопка отправки формы останется неактивной.

В данной теме мы хотим Вам предложить схожий скрипт, но основным отличием которого от рассмотренного ранее является то, что кнопка отправки формы становится активной только после того, как пользователь ввел в поле textarea текст, длина которого превысит указанное в настройках значение.

Для получения такого скрипта, проверяющего длину текста в поле textarea Вам понадобится вот такая форма:

И JavaScript код, который будет в зависимости от введенной длины текста, делать кнопку отправки формы либо активной, либо нет:

script type = "text/javascript" >
var f = document . registration ;
function change_status () f . start . disabled = ( f . textarea_text . value . length > 8 ) ? false : true ;
>
change_status ();

Если у Вас на сайте уже подключена библиотека jQuery, то проверку длины текста в поле textarea можно осуществлять при ее помощи. В этом случае форма отправки текста будет выглядеть даже немного проще:

А jQuery код, хоть и выглядит немного тяжелее, но работает ни чуть не хуже выше приведенного JavaScript кода:

script type = "text/javascript" >
var submit_name = $( '[name="start"]' );
submit_name . attr ( 'disabled' , 'disabled' );
$( '[name="textarea_text"]' ). keyup (function () if ($( this ). val (). length > 8 ) submit_name . removeAttr ( 'disabled' );
else submit_name . attr ( 'disabled' , 'disabled' );
>);

А какой именно способ использовать, выбирать Вам, но на наш взгляд, код на jQuery немного более предпочтительнее, т.к. его можно сделать более универсальным для применения ко всем имеющимся формам на сайте.

Как сделать кнопку активной?
Есть диалог с двумя Edit Control и одной кнопкой для выхода. Эта кнопка должна быть неактивной, а.


Как сделать активной кнопку
Как сделать активной кнопку во время выполнения функции под другой кнопкой что бы можно было.

Как сделать кнопку активной
Как сделать кнопку активной? вот код моей задуманной кнопки <a href="Книга.html" .

Как сделать кнопку не активной?
Создаю Визардом диалоговый проект: В окне две кнопки. нужно чтобы при нажатии на Button1.

Java SWT: как сделать кнопку неактивной во время работы отдельного потока

У меня есть программа, в которой слушатель SelectionEvent на pushbutton активирует поток.

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

Как я могу это сделать в рамках SWT?

2 ответа

Вызов ok.setEnabled(false) отключит кнопку, но вы должны сделать это в потоке пользовательского интерфейса. Итак, в фоновом потоке вам нужно будет использовать Display.asyncExec для запуска этой части кода:

Если вы создаете класс вместо использования анонимного внутреннего класса, вы можете передать ссылку на кнопку в поток, и когда он завершится, он может снова сделать его активным.

Тонкости свойства disable у кнопок формы, отправляемой на сервер (Как делать кнопки неактивными)

Уже неоднократно на хабре (вот в этой публикации и в этой) ставился вопрос о том, что было бы хорошо кнопкам формы, отправляемой на сервер, ставить свойство disabled = "disabled" .

Однако, до сих пор так и не разобрались, зачем это нужно и как все-таки это делать. Казалось бы, что может быть проще и о чем здесь вообще можно разговаривать, ан нет — на поверку все оказалось не так тривиально. Сразу замечу, что нижеследующие рассуждения применимы к обеим типам форм: как отправляемым через обычный SUBMIT, так и с помощью AJAX.

Зачем нужно делать кнопки неактивными

  1. Чтобы пользователю стало очевидным, что он уже нажал на кнопку, и что форма отправляется
  2. Чтобы сервер не загружался лишними запросами, и чтобы уменьшить вероятность какой-либо ошибки

Понятно также, что лишние запросы можно предотвратить, повесив на форму какой-нибудь , и при всяком сабмите проверять на наличие этого класса. Но зачем делать эти проверки, когда можно обойтись без них, просто сделав кнопку неактивной?

Как делать кнопки неактивными

Этот предложенный в вышеупомянутых топиках простой вариант оказывается недостаточным и неработоспособным.

Читайте также: