特定のコントロールが(部分的であっても)画面上に可視化されているかどうかを知るためのプロパティ(WinForms)はありますか?それはコントロールが可視化されているかどうかを確認するにはどうすればよいですか?
- Visibleプロパティがtrueである、ある、と
- は、それは他のウィンドウで覆われていません。
特定のコントロールが(部分的であっても)画面上に可視化されているかどうかを知るためのプロパティ(WinForms)はありますか?それはコントロールが可視化されているかどうかを確認するにはどうすればよいですか?
これは、Aeroが有効になっているVistaおよび以降では、これ以上使用できません。たとえウィンドウが他のウィンドウと重なっていても、ウィンドウのサムネイルやAero PeekなどにWindowsが表示されます。塗料を求めるWindowsに依存して、それらを最適化しようとしないでください。再描画する理由がある場合はInvalidate()を使用し、直接ペイントしないでください。
ペイントイベントが発生しているかどうかを確認するのがおそらく最も良い方法でしょうか。
private void myControl_Paint(object sender, PaintEventArgs e)
{
this.Text = "Painted at " + DateTime.Now.ToString();
}