Как я могу узнать, визуализируется ли элемент управления? - PullRequest
0 голосов
/ 13 сентября 2011

Есть ли свойство (в WinForms), которое позволяет мне определить, отображается ли конкретный элемент управления на экране (даже если частично)?То есть

  • его свойство Visible имеет значение true, а
  • не покрывается другими окнами.

Ответы [ 2 ]

2 голосов
/ 13 сентября 2011

Это больше невозможно в Vista и выше с включенным Aero.Окна видны, например, в миниатюрах и окнах Aero Peek, даже если они перекрываются другими окнами.Положитесь на Windows, запрашивая краски, не пытайтесь оптимизировать их.И используйте Invalidate (), если у вас есть причина перекрасить, никогда не рисуйте напрямую.

2 голосов
/ 13 сентября 2011

Проверьте, не запускается ли событие Paint, вероятно, лучшая ставка для вас.

private void myControl_Paint(object sender, PaintEventArgs e)
{
  this.Text = "Painted at " + DateTime.Now.ToString();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...