Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
1 / 1 / 0
Регистрация: 30.09.2016
Сообщений: 25

Как отключить события CheckBox при запуске формы

21.11.2016, 17:47. Показов 5739. Ответов 38
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет! Как отключить события? Например, на форме есть чекбокс. Если этот чексбокс устанавливается программой, то не запускать события чекбокса. Есть ли в VB .net такое?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.11.2016, 17:47
Ответы с готовыми решениями:

Включить или отключить CheckBox при запуске программы в зависимости от значения переменной
Есть в VB некий чекбокс - RadioButton1, и некая переменная - Version, которая загружается из файла сразу при запуске. Можно ли как-то...

Как отключить клавиатуру при запуске приложения
А как отключить только клавиатуру. Т.е при запуске программы клавиатура должна полностью отключиться

Как отключить макросы в MS Access при запуске приложения
Есть файл с макросом, но при запуске срабатывает макрос на закрытие приложения как его можно временно остановить, заблокировать чтобы...

38
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
21.11.2016, 19:23
Kinj, какое событие? И что вас беспокоит при возникновении этого события?
0
1 / 1 / 0
Регистрация: 30.09.2016
Сообщений: 25
21.11.2016, 19:34  [ТС]
Чтобы не запускалось любое событие чекбокса. В данный момент нужно чтобы не запускалось событие "ChackedChanged".
Отключить нужно для того, чтобы это событие не делало то, что оно делает, т.к. этого не надо делать. То, что делает событие, должно делаться, когда юзер щелкает по чекбоксу.
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
21.11.2016, 19:53
ну так может с аргументом e.Action, если оно там есть, сделать условие, если мышкой клацнули - можно, все другое - e.Handled = True.
0
1 / 1 / 0
Регистрация: 30.09.2016
Сообщений: 25
21.11.2016, 20:24  [ТС]
У события "CheckBox1_CheckedChanged" такие аргументы:
sender As Object, e As EventArgs

У "EventArgs" нет члена "Action", это можно узнать опытным путем: на стадии написания кода VS подчеркивает красным и выдает соответствующую подсказку.
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
21.11.2016, 20:32
тогда может быть просто выходить и процедуры?
VB.NET
1
2
3
4
5
6
7
8
9
10
11
Public Class Form1
    Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
        Exit Sub 'Принудительно выходим из процедуры
 
        'Все что ниже выполняться не будет
        Text = sender.checked
        Me.Close()
        End
        sender.dispose()
    End Sub
End Class
Добавлено через 2 минуты
Kinj, можно заблокировать изменение состояния чере установку свойства AutoCheck = False, тогда толькоипрограммно можно сменить, но событие всеравно возникает...
В этом случае вам тогда нужно создать новый класс унаследовав его от CheckBox и там уже сделать Override нужного вам события и просто вызывать Exit Sub...
0
1 / 1 / 0
Регистрация: 30.09.2016
Сообщений: 25
21.11.2016, 20:36  [ТС]
тогда толькоипрограммно можно сменить
У меня в программе чекбокс должен управляться из двух мест:
1) самой программой
2) юзером
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
21.11.2016, 20:53
новый класс вашего чекбокса с отключенным событием
VB.NET
1
2
3
4
5
6
Public Class Class1
    Inherits CheckBox
    Protected Overrides Sub OnCheckedChanged(e As EventArgs)
        'просто ничего не делать
    End Sub
End Class
Добавлено через 52 секунды
далее вместо стандартного - используйте этот чекбокс...

Добавлено через 13 минут
а вообще, кроме как Юзер и Программа - кто еще может управлять вашим чекбоксом то?
1
1 / 1 / 0
Регистрация: 30.09.2016
Сообщений: 25
21.11.2016, 21:02  [ТС]
а вообще, кроме как Юзер и Программа - кто еще может управлять вашим чекбоксом то?
может быть программа, что программа не будет ничего делать с чекбоксом, а только юзер
0
 Аватар для Sklifosofsky
1086 / 916 / 213
Регистрация: 29.09.2015
Сообщений: 1,019
21.11.2016, 21:08
Не знаю какие слова вставить. Может пригодится

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Public Class Form1
    ' по умолчание событие не связано с этим методом
    Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs)
        'действия над CheckBox
        '...
    End Sub
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        'привязывание события к методу
        AddHandler Me.CheckBox1.CheckedChanged, AddressOf CheckBox1_CheckedChanged
    End Sub
 
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        'удаление события от метода
        RemoveHandler Me.CheckBox1.CheckedChanged, AddressOf CheckBox1_CheckedChanged
    End Sub
End Class
2
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
21.11.2016, 21:24
Sklifosofsky, это тоже вариант, но само событие ведь всеравно выполняется... Я так понял ТС нужно отловить это событие и узнать в нем кто изменил состояние чекбокса... Как в TreeView есть e.Action в котором указано кем был выделен чекбокс...
Kinj, а создав новый класс с унаследованием вы можете обработать это событие по-своему, как вам угодно...
0
1 / 1 / 0
Регистрация: 30.09.2016
Сообщений: 25
21.11.2016, 21:26  [ТС]
Yury Komar, я в VB .net (и вообще в net) не разбираюсь, поэтому пока ваше предложение буду иметь ввиду, но еще не пробовал.
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
21.11.2016, 21:30
Kinj, хозяин барин.

Добавлено через 2 минуты
просто я несовсем уловил суть того, что вы хотите сделать и предложил вариант, который можно заточить под свои нужды...
Просто отключив событие - вы не отключите возможность сменить состояние... Это делается совсем по-другому... Вопрос все же в силе - ЧТО ВЫ ХОТИТЕ ДОБИТЬСЯ отключение этого события?
0
1 / 1 / 0
Регистрация: 30.09.2016
Сообщений: 25
21.11.2016, 21:37  [ТС]
Цитата Сообщение от Yury Komar Посмотреть сообщение
ЧТО ВЫ ХОТИТЕ ДОБИТЬСЯ отключение этого события?
что событие не срабатывало, чтобы событие не делала свои действия

Добавлено через 4 минуты
Sklifosofsky, да, работает ваш вариант, спасибо. Пока не могу оценить, удобен он или нет, но делает то, что требовалось.
0
 Аватар для Sklifosofsky
1086 / 916 / 213
Регистрация: 29.09.2015
Сообщений: 1,019
21.11.2016, 21:37
Цитата Сообщение от Kinj Посмотреть сообщение
что событие не срабатывало, чтобы событие не делала свои действия
Дык оно не делает свои действия, если не будет привязано к определённому методу
1
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
21.11.2016, 22:03
Kinj, собитие вообще-то происходит, но не выполняется и никаких действий не делает. А вот когда какое-то действие происходит, например смена состояния чекбокса - то это событие уведомляет вас об смене, его можно отключить, но действия связанные с событием всеравно выполнятся, только "молча".

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

Добавлено через 1 минуту
Приведите пример того, когда Программа меняет чекбокс в тот момент, когда ненадо этого делать?
1
1 / 1 / 0
Регистрация: 30.09.2016
Сообщений: 25
21.11.2016, 22:06  [ТС]
Цитата Сообщение от Yury Komar Посмотреть сообщение
Приведите пример того, когда Программа меняет чекбокс в тот момент, когда ненадо этого делать?
При запуске программы, программа ставит или не ставит чекбокс. В этот момент срабатывает событие чекбокса, как будто-то юзер щелкает чекбокс и запускается событие чекбокса, которое делает некоторые действия. Так вот в момент запуска программы не надо делать эти действия, а надо делать эти действия только когда юзер щелкает чекбокс.

Да и вообще на другом языке программирования я сталкивался, что была необходимость не запускать событие, если программа вносила изменения в контрол. Так что это не уникальный случай у меня.
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
21.11.2016, 22:31
Kinj, понятно. тогда да, либо в дизайнере удалить строку где старится чек в чекбокс, либо как выше подсказали, Handler добавлять после запуска программы в FormLoad.
0
1 / 1 / 0
Регистрация: 30.09.2016
Сообщений: 25
21.11.2016, 22:36  [ТС]
Yury Komar, а вы недавно программируете? Мне кажется, что любой программист VB .net при работе с формами всегда сталкивается с той проблемой, которую я описал в этой теме.
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
21.11.2016, 23:16
Kinj, нет ни недавно я программирую... А зачем эти уточнения? Сталкивался и я, просто это не совсем общий случай... И я на этом внимания не заострял, так как решал это каждый раз разными способами, взависимости от условий выполнения программы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.11.2016, 23:16
Помогаю со студенческими работами здесь

Как отключить такое окно при запуске приложения ?
Что-то нажал ни знаю что и теперь при каждом запуске сразу после компиляции вылазит это: и что-то там загружает целую кучу...

CheckBox Отключить при старте программы
Создал чекбокс со стрта программы он должен быть false но как включаю программу проверяю он оказывается true c чем это может быть...

Как отключить блокировку окон word при вызове формы
Добрый день! Может кто нибудь знает и сможет подсказать. Проблема такая, у меня есть макрос автозаполнения, соответственно к нему...

Создаем события при изменении checkbox
Надо создать событие на checkbox даный варин работае: <script type="text/javascript"> function showOrHide(cb, cat) { cb =...

Как отключить системные звуки при вызове 2й формы или messagebox?
Подскажите, пожалуйста. Почему то не могу найти инфу:(


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru