На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
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,0895 ]   [ 18 queries used ]   [ Generated: 20.04.18, 20:20 GMT ]