QueryRecord()是一个比较耗时间的方法,而且最终要讲结果显示到TextBox上面。在结果显示在控件上之前,界面处于卡死状态,本人找了很久,最终发现要使用Invoke方法。
private void QueryRecod(string SN, int sponsor, TextBox textShow)
{
if (SN == "")
{
MessageBox.Show("PCB码不能为空!");
return;
}
string strSponse = string.Empty;
Bobcat queryPCB = new Bobcat();//实例化一个对象
int reNum = (queryPCB.QuerySfsServerInfo(sponsor, SN, out strSponse));//调用方法;
List<string> list = new List<string>();//不能使用string[],因为Invoke()方法中参数只会传递stirng[0],stirng[1]、string[2]后续不会传递,结果报错
list.Add(SN);//添加数据
list.Add(strSponse);
if (reNum == 1)
{
**if (textShow.InvokeRequired)//判断是否要跨线程**
{