9
UserControl.Load
があります。コントロールが最初に表示される前に発生します。コントロールのハンドルが作成されたときに発生するUserControl.HandleCreated
があることがわかりました。初めてコントロールが表示された直後にどのようなイベントが発生しますか?
しかし、コントロールが初めて実際に表示されたときに、どのようなイベントが発生するのかを探しています。
理由:
私はコントロールが表示される前に、それに入れたデータの束を持っているDataGridView
取り扱っております。私は行(BackColor
)を塗りつぶさずに色付けすることはできません(コマンドは単に動作しません)。行を色付けするコマンドは、初めてコントロールがペイントされた後にのみ機能します。だから私はそのイベントをキャプチャし、その時点で行を色分けする必要があります。
dataGridView1.Rows[index].DefaultCellStyle.BackColor = Color.Red;
上記の行は、コントロールが表示されたときに動作しますが、コントロールが表示されていないと動作しません。
'RowPrePaint'または' RowPostPaint'イベントを試しましたか? – MikeB
私は、DataBindingCompleteイベントhttp://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.databindingcomplete.aspxをお勧めしたいと思います。内容に応じてサイズ変更イベントも処理するので、これは(imho)あなたのペインティングにも役立つはずです – Najzero
なぜ 'OnPaint'をオーバーライドできませんか? – mattytommo