На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Методы 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,0231 ]   [ 17 queries used ]   [ Generated: 28.03.24, 17:43 GMT ]