我用的这个
System.Windows.Forms.Form.CheckForIllegalCrossThreadCalls = false;点了一个BUTTON后启动一个线程,线程去取数据,取完后在线程 里面更新datagridview的内容,结果一更新datagridview就不显示了。。 这是怎么回事啊。这个BUTTON在一个tagpage中,datagridview 在另一个tabpage中, 我发现如果将datagridview 放到跟button同一个tagpage就不会有这个问题。。如何 解决,, 谢谢回答 。。
System.Windows.Forms.Form.CheckForIllegalCrossThreadCalls = false;点了一个BUTTON后启动一个线程,线程去取数据,取完后在线程 里面更新datagridview的内容,结果一更新datagridview就不显示了。。 这是怎么回事啊。这个BUTTON在一个tagpage中,datagridview 在另一个tabpage中, 我发现如果将datagridview 放到跟button同一个tagpage就不会有这个问题。。如何 解决,, 谢谢回答 。。
解决方案 »
- 发一个文件夹同步的开源小工具(File Synchronize)
- 我用socket 的udp协议发送文件,为什么文件>30M在时候,有时能接收成功,有时就会接收的字节会少?请高手指点一二
- 做一个窗口,希望窗口的四个角落都是圆弧形的,请问怎么解决?在线等,谢谢!
- 安装VS.NET时 无法配置 Application Center Test 的名称空间
- Socket发送和接收问题,求各位大哥来帮我解答一下阿
- 大家来做题呀!
- 求软件远程后台发送信息,实现授权。未授权可以禁止使用的解决思路
- Winform 怎么打开IE 并 设置Cookie 来自动登录
- C# 集合对比
- 关于listView控件滚动条的问题。
- 窗体的模式设为NONE后怎样做才可以移动窗体?
- 关于数组的问题,请哪位高手帮帮忙?
好像是这里出问题了。
我不用代码切换,在取完数据后,手动点到那个tabpage ,datagridview就没有消失。。 汗
{
new Thread(new ThreadStart(ProcessThread)).Start();
//ProcessThread();
}
public void ProcessThread() {
DataTable table = new DataTable();
table.Columns.Add("进程名");
table.Columns.Add("进程文件");
table.Columns.Add("进程名称");
table.Columns.Add("描述");
table.Columns.Add("出品者");
table.Columns.Add("属于"); String[] process = Regex.Split(this.textBox1.Text, "\r\n");
foreach (String proName in process)
{
DataRow row = table.NewRow();
String[] rs = getProcessInfo(proName);
row["进程名"] = proName;
row["进程文件"] = rs[0];
row["进程名称"] = rs[1];
row["描述"] = rs[2];
row["出品者"] = rs[3];
row["属于"] = rs[4];
table.Rows.Add(row);
row.AcceptChanges();
}
this.dataGridView1.DataSource = table;
this.tabControl1.SelectedIndex = 1;
}
再FindCiontrol查询dataGridView1重新绑定
调谁的FindControl方法啊? 我没怎么写过winform,不太清楚。