C# 知道数据绑定何时完成

C# 知道数据绑定何时完成,c#,winforms,binding,datagridview,C#,Winforms,Binding,Datagridview,在我的应用程序中,我使用了System.ComponentModel.BindingList作为DataGridView.DataSource。列表非常大,需要几秒钟才能在DataGridView上绘制。所以,我需要知道数据绑定(包括绘制)过程何时完成以完成一些工作。我尝试了DataBindingComplete事件,但它是在设置了DataSource属性的值之后发生的 提前谢谢 更新: 1.生成绑定列表[从数据库获取数据]► ~1秒 2.将其设置为DataSource[绑定]► ~1秒(此时

在我的应用程序中,我使用了
System.ComponentModel.BindingList
作为
DataGridView.DataSource
。列表非常大,需要几秒钟才能在
DataGridView
上绘制。所以,我需要知道数据绑定(包括绘制)过程何时完成以完成一些工作。我尝试了
DataBindingComplete
事件,但它是在设置了
DataSource
属性的值之后发生的

提前谢谢


更新:

1.生成绑定列表[从数据库获取数据]► ~1秒

2.将其设置为
DataSource
[绑定]► ~1秒(此时将触发
databindingplete


3.绘制[
数据网格视图中显示数据
]► ~5秒

就像描述的那样简单

bool bindingCompleted = false;

void Form1_Load(object sender, EventArgs e)
{
    dataGridView1.DataSource = bindingList1;
}

void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
    bindingCompleted = true;
}

void dataGridView1_Paint(object sender, PaintEventArgs e)
{
    if (bindingCompleted)
    {
       bindingCompleted = false;

       // do some stuff.. 
    }
}

嗯,
DataBindingComplete
似乎是对的,但您需要详细说明您面临的问题以及为什么没有解决问题。莱达尔@V4Vendetta:正如我前面提到的,
DataBindingComplete
效果很好。但是当它被提升时,
DataGridView
仍然需要绘制。绘画过程是一个耗时的过程,我想知道它什么时候完成。如果不够清楚,请告诉我。当数据源的内容更改时,或当
数据源
数据成员
、或
BindingContext
属性更改时,会引发此事件。必须改进此事件。此事件至少在一个运行循环中激发4次。