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

Mic*_*kus 9 .net c# events user-controls winforms

我知道有UserControl.Load,这是在控件第一次出现之前发生的.而且我知道UserControl.HandleCreated,当为控件创建句柄时会发生这种情况.

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

原因:

我正在处理一个DataGridView在显示控件之前放入一堆数据的数据.我不能在BackColor没有绘制控件的情况下为rows()着色(命令根本不起作用).只有在第一次绘制控件时,才会使用颜色行的命令.所以我需要捕获该事件并在该点着色行.

dataGridView1.Rows[index].DefaultCellStyle.BackColor = Color.Red;
Run Code Online (Sandbox Code Playgroud)

上面的行在显示控件时起作用,但是在控件未显示的情况下不起作用.

Mik*_*oud 7

您可以使用该VisibleChanged活动.

private void UserControl_VisibleChanged(object sender, EventArgs e)
{
    if (this.Visible) { ... }
    else { ... }
}
Run Code Online (Sandbox Code Playgroud)