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次。