Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/40: Рейтинг темы: голосов - 40, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 25.03.2014
Сообщений: 20
.NET 4.x

Деактивация кнопки при ее нажатии

25.03.2014, 23:19. Показов 8550. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
По программированию новичок, поэтому обратился на данный форум за помощью.
Что мы имеем:
У нас есть на форме кнопка, и таймер. Хотелось бы сделать так чтобы после нажатии на кнопку, она становилась не активной(серой) или (вдавленной), а таймер начинал отсчет с 30минут, до 0.
Вот проблем ка та простая, да моих знаний не хватает.
Конечно искал в инете ответы, да не понял как это все сделать, не так чтобы каждый раз спрашивать, а понять.
Книгу Шилдт(а) читаю, так что все еще впереди.
Буду благодарен за ваши ответы. Не плохо бы чтобы с пояснениями, если не тяжело конечно.)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.03.2014, 23:19
Ответы с готовыми решениями:

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

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

Как сделать чтобы при нажатии кнопки чтобы активировались все неактивные кнопки?
На форме имеются три кнопки. При открытии формы кнопка "button1" становится неактивна: button1.Enabled = false; Как сделать чтобы...

2
 Аватар для Spawn
995 / 893 / 354
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
25.03.2014, 23:59
Лучший ответ Сообщение было отмечено GenzyTake как решение

Решение

Создаём проект (допустим Windows Forms Application)

Кидаем на форму Button, Label и Timer.

Они соответственно называются button1, timer1, label1.
Далее нажимаем 2 раза на кнопку, в редакторе кода создаётся событие нажатия на кнопку:
C#
1
2
3
4
private void button1_Click(object sender, EventArgs e)
        {
 
        }
В нём прописываем следующее:
C#
1
timer1.Start();
Затем возвращаемся к форме и нажимаем 2 раза на таймер (он будет внизу, а не на самой форме, так как это компонент, а не элемент управления). Таким образом будет создано событие Tick.
C#
1
2
3
4
        private void timer1_Tick(object sender, EventArgs e)
        {
 
        }
Перед тем, как там написать нужный нам код, потребуется создать переменную глобальную, на уровне формы. Например, перед конструктором формы. Кусок кода выглядит вот так:
C#
1
2
3
4
5
        DateTime start;
        public Form1()
        {
            InitializeComponent();
        }
Затем немного модифицируем событие нажатия на клавишу, так чтобы перед запуском таймера ещё и время текущее запоминалось и кнопка становилась неактивной:
C#
1
2
3
4
5
6
        private void button1_Click(object sender, EventArgs e)
        {
            start = DateTime.Now;
            timer1.Start();
            button1.Enabled = false;
        }
В обработчике события таймера пишем следующий код:
C#
1
2
3
4
5
6
7
8
9
10
11
        private void timer1_Tick(object sender, EventArgs e)
        {
            // разница между текущим временем и начальным
            TimeSpan diff = DateTime.Now - start;
            label1.Text = "Осталось " + (int)(30 - diff.TotalMinutes) + "минут.";
            if ((int)(30 - diff.TotalMinutes) == 0)
            {
                timer1.Stop();
                button1.Enabled = true;
            }
        }
Вкратце как-то так.
3
0 / 0 / 0
Регистрация: 25.03.2014
Сообщений: 20
26.03.2014, 23:44  [ТС]
Большое спасибо. +1 кнопки нет, что странно, на форуме от силы 30 минут. Так бы с радостью поставил.

Добавлено через 23 часа 39 минут
Теперь поставил +1.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.03.2014, 23:44
Помогаю со студенческими работами здесь

BorderSize при нажатии кнопки
Я по умолчанию выставляю BorderSize присваиваю значение 1, все шикарно ставится, но при нажатии на эту кнопку значение BorderSize явно...

Добавление при нажатии кнопки
Всем привет. Помогите пожалуйста,хочу сделать добавление информации о локальных дисках при добавлении. Нашел код как узнать информацию о...

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

Картинка из ListBox при нажатии кнопки
Доброго времени суток, интересует как сделать так чтобы при нажатии на кнопку на форме появлялась определенная картинка из ListBox?

Открытие About Box при нажатии кнопки
Почитал ту много всяких тем по этому поводу, но так нормального варианта и не нашёл. Суть проста-на первой форме Form1 кнопка, при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru