我的问题只是我的 SQL 查询需要 2 多分钟才能完成,而且我的应用程序在尝试获取所有数据时无法冻结。我已经尝试过多线程,但我一直遇到一个错误,我很确定你会认出这个错误。我的代码在此之下。
跨线程操作无效:控件“labelEdit1”从创建它的线程以外的线程访问。
private void Form_Load(object sender, EventArgs e)
{
startup = new Thread(loadInThread);
startup.Start();
}
private void loadInThread()
{
//getsDataFromSQL() is the method that takes over 2 minutes to do
//it returns a String Array if that is helpful
comboEdit1.Properties.Items.AddRange(getsDataFromSQL());
startup.Abort();
}
如果有更好的方法可以做到这一点,请告诉我,我所需要的只是应用程序不会冻结并将数据加载到组合编辑中。另外我知道可以优化 SQL 语句,但这不是这个问题的目的,所以请不要建议它。