要实现的功能很简单 就是在点击某一按钮的时候执行一个多线程(可多次点击)
private void button17_Click(object sender, System.EventArgs e)
{
Thread thread = new Thread(new ThreadStart(DoSynchronous));
thread.Start();
}第一次点击完全正常 但第二次点击就会提示 未将对象引用设置到对象实例
经过跟踪 第二次点击时之前那次线程已经是stopped状态但不论我把thread 定义成全局或是局部都有这个问题 原因不明 请大家帮忙指点下
private void button17_Click(object sender, System.EventArgs e)
{
Thread thread = new Thread(new ThreadStart(DoSynchronous));
thread.Start();
}第一次点击完全正常 但第二次点击就会提示 未将对象引用设置到对象实例
经过跟踪 第二次点击时之前那次线程已经是stopped状态但不论我把thread 定义成全局或是局部都有这个问题 原因不明 请大家帮忙指点下
解决方案 »
- HttpWebResponse 访问 xxx.action 网站返回500错误
- wpf treeview 中子节点焦点的控制
- 一个简单atlas问题,高分求救
- 线程里的 Thread + AutoResetEvent 请教啥意思?
- 请问何谓好的代码
- 从VB转向.NET,介绍一本不是太基础的.NET的书50分相送!谢谢
- 【求助】关于随机数循环出现重复的问题
- C#中windows窗体和windows Service怎样共享内存,或者它们之间能否实现共享内存?
- 高手能不能详细的说一下C#里面数据绑定的东东,我看了半天,还是糊里糊涂的,谢谢!
- 在繁體中文版Windows2000上安裝簡體中文Visual Studio.Net,有誰成功過?我這裡總是非正常重啟動!
- C#中自带报表的问题?
- 在Winform项目中,怎样确定编号的唯一并设置位数规则
里面引用了全局变量之类的东西么
private void button17_Click(object sender, System.EventArgs e)
{
datatable=....
dg.DataSource=datatable;
Thread thread = new Thread(new ThreadStart(DoSynchronous));
thread.Start();
}private void DoSynchronous()
{
DataTable dt=(DataTable)dg.DataSource;
while (dt.rows.Count>0)
{
...
dt.rows.removeat(0);
}
}现在改成
private DataGrid dg=new DataGrid();
private void button17_Click(object sender, System.EventArgs e)
{
Thread thread = new Thread(new ThreadStart(DoSynchronous));
thread.Start();
}private void DoSynchronous()
{
dt=....
while (dt.rows.Count>0)
{
...
dt.rows.removeat(0);
}
}
后可以正常运行
但是 无法将dt的值用dg来显示了
dg.DataSource=dt;提示无法将一个线程的控件当作另一个线程的父控件