На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS

Дорогие друзья! Поздравляем вас с Новым 2018 годом!

Всем удачи, успеха и благополучия!
В новом году ожидаем новых рекордов при подсчёте количества ёлочек на экране ;)


msm.ru
Модераторы: maxim84_, juice
  
> Методы Controls.Clear и Controls.Remove активируют форму., C# Windows.Forms. Можно ли это запретить?
При вызове методов Control.ControlCollection.Clear() и Control.ControlCollection.Remove(Control control) при динамическом обновлении элементов типа Control по таймеру форма активируется и выводится наверх. Вызов метода типа this.Activated += new EventHandler(Form_Activated); с активацией нужной формы и выводом ее наверх может решить проблему, но можно ли сделать проще без отслеживания активации формы и без WinAPI? Если выполнить для формы this.Enabled = false; а затем после обновления элементов this.Enabled = true; активация и вывод формы наверх не происходит, но элементы на форме обновляются медленно. Есть ли простой и быстро работающий способ запретить активацию формы при вызове указанных методов?
Активация формы происходила, если очистить панель, удалить элементы на ней или удалить саму панель. Похоже, что решил вопрос с помощью метода WinAPI EnableWindow - при этом обновление работает с нормальной скоростью, в отличие от изменения свойства this.Enabled. Если временно отключить Enabled для окна формы, обновляет содержимое формы без ее активации.
0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
0 пользователей:


Рейтинг@Mail.ru
[ Script Execution time: 0,0703 ]   [ 23 queries used ]   [ Generated: 21.01.18, 18:58 GMT ]