第一次显示控件后会立即发生什么事件?

时间:2013-05-15 13:06:48

标签: c# .net winforms events user-controls

我知道有UserControl.Load,这是在控件第一次可见之前发生的。我知道有UserControl.HandleCreated,这是在为控件创建句柄时发生的。

但我正在寻找第一次实际显示控件时发生的事件。

原因:

我正在处理一个DataGridView,它在显示控件之前有一堆数据放入其中。如果没有绘制控件,我无法为行(BackColor)着色(命令根本不起作用)。只有在第一次绘制控件时,才会使用颜色行的命令。因此,我需要捕获该事件并在该点着色行。

dataGridView1.Rows[index].DefaultCellStyle.BackColor = Color.Red;

如果显示控件但上面的行无效,则不显示控件。

1 个答案:

答案 0 :(得分:7)

您可以使用VisibleChanged事件。

private void UserControl_VisibleChanged(object sender, EventArgs e)
{
    if (this.Visible) { ... }
    else { ... }
}