如何将行添加到由自定义控件中的后台辅助角色填充的数据网格视图的末尾



在我现在正在处理的项目中,自定义控件中有一个选项卡,在当前运行完成后填充。因此,当前运行完成后,main 函数将调用自定义控件的公共函数之一,该函数使用后台辅助角色填充自定义控件中的 datagridview。从主函数中,我想在填充数据网格视图后在数据网格视图的末尾添加一行。但是,每次我尝试添加该行时,它都会说 datagridview 中有 0 行并将其添加为第一项。我试图找到的解决方案是如何识别自定义控件中的后台工作线程何时完成,以便我知道何时将行添加到 dgv 的末尾。我以为这段代码可以完成这项工作,但它只是无限循环:

While dgvInCustomControl.Rows.Count = 0 
    Threading.Thread.Sleep(5000)
End While

我怀疑 main 函数无法确定 datagridview 中实际有多少行,并且它总是将行添加为第一项。对于如何解决此问题的任何帮助,我们将不胜感激!

可以在 BackgroundWorker 完成后从自定义控件引发事件。让主类侦听该事件,并在触发时执行它需要执行的任何操作。

请记住,从后台线程更新 Windows 控件通常不起作用,您应该使用委托函数在主线程上调用更新。

最新更新