6 / 6 / 0
Регистрация: 26.06.2016
Сообщений: 68

Можно ли изменить состояние checkBox без срабатывания события CheckedCanged?

27.07.2016, 11:11. Показов 5145. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
static class Class1
{
public static int a = 0;
}
 
private void checkBox1_CheckedCanged(object sender,EventArgs e) // присвоение значение полю Class1.a
{
Class1.a = 5;
}
 
private void button1_Click(object sender,EventArgs e) // "сброс" значения поля Class1.a
{
Class1.a = 0;
}
Вопрос заключается в том, можно ли после клика по button1 снять "галку" на checkBox1, без захода в тело метода(checkBox1_CheckedCanged())???
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.07.2016, 11:11
Ответы с готовыми решениями:

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

Изменить состояние Checkbox в таблице
Всем привет! Есть простая таблица из двух полей login и status поле (status содержит в себе либо 0 либо 1) так же поле status в...

Изменить состояние нескольких CheckBox в цикле
На форме размешены 18 CheckBox'ов и самым порнографическим способом им присваивается значение параметра Visible True ...

14
 Аватар для Newbier
0 / 0 / 0
Регистрация: 29.12.2015
Сообщений: 60
27.07.2016, 11:23
Просто написать?
checkBox1.Checked = true\false.
0
 Аватар для EveKS
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
27.07.2016, 11:28
vvshnik14,
Цитата Сообщение от vvshnik14 Посмотреть сообщение
после клика по button1 снять "галку"
вызовет
Цитата Сообщение от vvshnik14 Посмотреть сообщение
button1_Click(object sender,EventArgs e)
если верить именам событий... а не как не
Цитата Сообщение от vvshnik14 Посмотреть сообщение
checkBox1_CheckedCanged(object sender,EventArgs e)
0
6 / 6 / 0
Регистрация: 26.06.2016
Сообщений: 68
27.07.2016, 12:15  [ТС]
Цитата Сообщение от EveKS Посмотреть сообщение
если верить именам событий... а не как не
Сообщение от vvshnik14
checkBox1_CheckedCanged(object sender,EventArgs e)
C#
1
2
3
4
5
private void button1_Click(object sender,EventArgs e) // "сброс" значения поля Class1.a
{
Class1.a = 0;
checkBox1.CheckState = CheckState.Unchecked; - не подходит т.к. заходит в тело метода при изм состояния чекбокса
}
извиняюсь что не написал это сразу

Добавлено через 1 минуту
Цитата Сообщение от Newbier Посмотреть сообщение
checkBox1.Checked = true\false.
при этом срабатывает событие изменения состояния и тогда заходит в тело метода checkBox1_CheckedChenged
0
 Аватар для EveKS
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
27.07.2016, 12:53
случайный ответ не в ту тему/// удалил пост
0
6 / 6 / 0
Регистрация: 26.06.2016
Сообщений: 68
27.07.2016, 12:55  [ТС]
Мне нужно установить новое значение и одновременно с этим убрать "галочку" с checkbox1
0
 Аватар для EveKS
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
27.07.2016, 12:56
vvshnik14,
C#
1
2
3
4
5
private void button1_Click(object sender,EventArgs e) 
{
if (checkBox1.Checked == false)
Class1.a = 0;
}
0
 Аватар для Newbier
0 / 0 / 0
Регистрация: 29.12.2015
Сообщений: 60
27.07.2016, 13:02
Цитата Сообщение от vvshnik14 Посмотреть сообщение
при этом срабатывает событие изменения состояния
Изменить условия срабатывания события (как вариант), ну или извратиться и сделать сделать второй чекбокс, а этот сделать невидимым))
0
6 / 6 / 0
Регистрация: 26.06.2016
Сообщений: 68
27.07.2016, 13:04  [ТС]
C#
1
2
3
4
5
private void button1_Click(object sender,EventArgs e) 
{
if (checkBox1.Checked == false)
Class1.a = 0;
}
а где тело оператора if
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
17909 / 14003 / 5347
Регистрация: 17.03.2014
Сообщений: 28,665
Записей в блоге: 1
27.07.2016, 13:04
Лучший ответ Сообщение было отмечено vvshnik14 как решение

Решение

vvshnik14, отпишись от события CheckedCanged, измени свойство Checked и подпишись обратно:
C#
1
2
3
4
5
6
7
private void button1_Click(object sender,EventArgs e) // "сброс" значения поля Class1.a
{
    Class1.a = 0;
    checkBox1.CheckedChanged -= checkBox1_CheckedCanged;
    checkBox1.Checked = false;
    checkBox1.CheckedChanged += checkBox1_CheckedCanged;
}
1
6 / 6 / 0
Регистрация: 26.06.2016
Сообщений: 68
27.07.2016, 13:05  [ТС]
Цитата Сообщение от Newbier Посмотреть сообщение
Изменить условия срабатывания события (как вариант), ну или извратиться и сделать сделать второй чекбокс, а этот сделать невидимым))
этот вариант рассматривал но он мне не подходит
0
 Аватар для EveKS
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
27.07.2016, 13:22
OwenGlendower, не работает, думаю автору надо отказаться от этого подхода...
0
6 / 6 / 0
Регистрация: 26.06.2016
Сообщений: 68
27.07.2016, 13:24  [ТС]
OwenGlendower, спасибо
это то что надо
C#
1
2
3
4
5
6
7
private void button1_Click(object sender,EventArgs e) // "сброс" значения поля Class1.a
{
    Class1.a = 0;
    checkBox1.CheckedChanged -= checkBox1_CheckedCanged;
    checkBox1.Checked = false;
    checkBox1.CheckedChanged += checkBox1_CheckedCanged;
}
0
 Аватар для EveKS
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
27.07.2016, 13:39
OwenGlendower, извиняюсь, всё нормально.
0
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10421 / 5151 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
28.07.2016, 00:50
Цитата Сообщение от OwenGlendower Посмотреть сообщение
отпишись от события CheckedCanged, измени свойство Checked и подпишись обратно:
Лучше все таки использовать флаги. Вот как здесь. В той же теме я немного писал про то, почему вариант с флагами лучше.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.07.2016, 00:50
Помогаю со студенческими работами здесь

Изменить состояние WebBrowser в обработчике события
Здравствуйте, ребята. Прошу помочь разобраться с возникшей проблемой. На работе требуется написать бот, который сможет заполнять формы...

Как изменить состояние многих CheckBox на форме в один прием
Товарищи, наверное нубский вопрос, но если у меня есть 25 чекбоксов (0-24 соответственно), то как мне перечислить их с 0 до 19, чтобы не...

Передача массива в метод без возможности изменить внутреннее состояние
Доброго всем времени суток! Разрабатываю систему, в которой понадобилось реализовать следующее: Ядро принимает определенные данные из...

Проверка срабатывания события
Как узнать, что произошло определенно событие? Например AfterEdit? (Не делая проверку, в каждом обработчике) Как можно узнать, что данные...

Определение области срабатывания события мышки относительно контейнера и его содержимого
Есть код, из него следует, как видите, что при наведении на "background" показывать "block", но "block" у меня зашит...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

Новые блоги и статьи
Kanban или Scrum - что выбрать?
EggHead 27.04.2025
Kanban и Scrum — уже много лет удерживают лидирующие позиции среди гибких подходов. Руководители проектов и команды разработчиков то и дело сталкиваются с дилеммой: какой из этих двух методов выбрать. . .
Кастомные Middleware на C# в ASP.NET Core
UnmanagedCoder 27.04.2025
Разработка веб-приложений сегодня мало напоминает монолитное программирование прошлых лет. На смену громоздким блокам кода пришла модульная архитектура, где каждый компонент выполняет строго. . .
Анализ и линтинг кода JavaScript: ESLint, Prettier и JSHint
run.dev 26.04.2025
JavaScript прошёл долгий путь от простого языка для анимации веб-страниц до основы современной веб-разработки. С ростом сложности приложений, увеличением кодовых баз и масштабированием команд. . .
Паттерны в Python: Singleton, Factory и Observer
py-thonny 26.04.2025
Паттерны проектирования — это проверенные временем решения типовых проблем разработки программного обеспечения. Их история берёт начало с книги "Приёмы объектно-ориентированного проектирования. . . .
Исключения в C#: Stack Overflow, Access Violation и Out of memory
stackOverflow 26.04.2025
Исключения в C# — это не только механизм оповещения о проблемах, а целое искусство управления потоком выполнения программы в экстремальных ситуациях. Обычное исключение, например,. . .
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
Структура "железный OnKeyUp" вместо антидребезга. Полностью асинхронный счётчик.
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
Автоматизация Amazon Web Services (AWS) с Boto3 в Python
py-thonny 25.04.2025
Облачные вычисления стали неотъемлемой частью современной ИТ-инфраструктуры, а Amazon Web Services (AWS) занимает лидирующие позиции среди провайдеров облачных услуг. Управление многочисленными. . .
Apache Kafka vs RabbitMQ в микросервисной архитектуре
ArchitectMsa 25.04.2025
Современная разработка ПО всё чаще склоняется к микросервисной архитектуре — подходу, при котором приложение разбивается на множество небольших, автономных сервисов. В этой распределённой среде. . .
Параллельное программирование с OpenMP в C++
NullReferenced 24.04.2025
Параллельное программирование — подход к созданию программ, когда одна задача разбивается на несколько подзадач, которые могут выполняться одновременно. Оно стало необходимым навыком для. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru