Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
3 / 3 / 2
Регистрация: 27.06.2013
Сообщений: 96

Методы Controls.Clear и Controls.Remove активируют форму. Можно ли это запретить?

05.01.2018, 02:13. Показов 5204. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При вызове методов Control.ControlCollection.Clear() и Control.ControlCollection.Remove(Control control) при динамическом обновлении элементов типа Control по таймеру форма активируется и выводится наверх. Вызов метода типа this.Activated += new EventHandler(Form_Activated); с активацией нужной формы и выводом ее наверх может решить проблему, но можно ли сделать проще без отслеживания активации формы и без WinAPI? Если выполнить для формы this.Enabled = false; а затем после обновления элементов this.Enabled = true; активация и вывод формы наверх не происходит, но элементы на форме обновляются медленно. Есть ли простой и быстро работающий способ запретить активацию формы при вызове указанных методов?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.01.2018, 02:13
Ответы с готовыми решениями:

Ошибка: Window does not contain a definition for 'Controls' and no extension method 'Controls'
Решил заняться c#, но что-то не могу разобраться. имеется некоторое количество textBox'ов (textBox1, textBox2...). Через цикл хотел...

HTML controls или АSP controls на сервер сайд?
Всем Привет. Можно ли HTML controls исползоват на сервер сайд вместо АSP controls?например восползоватся Input type(text) вместо...

This.Controls.Remove(Ctrl) в цикле foreach удаляет не все элементы
Здравствуйте, уже который день мучаюсь с одной проблемой. Вроде бы все просто, но однако работает не так как следовало бы, по непонятной...

2
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
05.01.2018, 04:22
Такое поведение нетипично. Ты уверен, что именно очистка формы и удаление контролов вызывают активацию? Дай пример проекта, где это происходит.
0
3 / 3 / 2
Регистрация: 27.06.2013
Сообщений: 96
05.01.2018, 15:47  [ТС]
Лучший ответ Сообщение было отмечено Max_t как решение

Решение

Уточнил, что активация происходит, если очистить панель, удалить элементы на ней или удалить саму панель. Если удалить один элемент, активация не происходит, если все в цикле - происходит. Удаление остальных элементов с формы, кроме панели, активацию не вызывает. Нужна панель с прокруткой. От того, откуда вызываются методы Clear и Remove, это не зависит. Есть ли универсальный способ временно запретить активацию формы, чтобы работал быстро, в отличие от this.Enabled = false; ?
C#
1
2
3
4
this.panel1.Controls.Clear();
foreach (Control control in panel1.Controls)
this.panel1.Controls.Remove(control);
this.Controls.Remove(this.panel1);
Добавлено через 54 минуты
Похоже, что решил вопрос с помощью метода WinAPI EnableWindow - обновление работает с нормальной скоростью, в отличие от изменения свойства this.Enabled. Если временно отключить Enabled для окна формы, обновляет содержимое без активации формы и без вывода ее поверх всех окон.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.01.2018, 15:47
Помогаю со студенческими работами здесь

Реализовать методы: Contains, Clear, remove, Insert
Если можно с комментариями

Как запретить добавлять визуальные элементы управления в Controls
Привет! У меня в приложении несколько панелей инструментов динамически сцепляются в одну. Сами панели я хочу создавать в дизайнере. А...

Как двигать форму без рамки, за Controls
Доброго времени суток, господа Собственно нужно как то двигать форму за PIctureBox... Как двигать саму форму без рамки я знаю, но дело...

Как вставить в форму объекты Common Controls 6.0?
Точнее прогресс бар. Как к его методам добраться программно, нужно изменить min max и заставить его двигаться. Или поскажите, где это можно...

Где можно найти компонент Microsoft Internet Controls
Где можна найти компонент Microsoft Internet Controls для Visual Basic 6?


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
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
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru