public void getcontent(string content){
Monitor.Enter (this);
m_spiderForm.SetContent(content);
Monitor.Pulse(this);
Monitor.Exit(this);
}SetContent(string str)是窗口m_spiderForm下的方法:
public void SetContent(string content){
此处我可以获得getcontent传过来的content,但调用UI线程时老是无法执行savedata()方法保存.
//这里我要处理的就是调用savedata这个函数,利用多线程(注意:要求一定要利用多线程,因为要将content处理,需要一定的时间)将content保存到数据库,并绑定datagrid;在这里如何实现它呢?????请高手指点.谢谢
}
public void savedata(){
................
datagrid.datasource = dt;
........
}
Monitor.Enter (this);
m_spiderForm.SetContent(content);
Monitor.Pulse(this);
Monitor.Exit(this);
}SetContent(string str)是窗口m_spiderForm下的方法:
public void SetContent(string content){
此处我可以获得getcontent传过来的content,但调用UI线程时老是无法执行savedata()方法保存.
//这里我要处理的就是调用savedata这个函数,利用多线程(注意:要求一定要利用多线程,因为要将content处理,需要一定的时间)将content保存到数据库,并绑定datagrid;在这里如何实现它呢?????请高手指点.谢谢
}
public void savedata(){
................
datagrid.datasource = dt;
........
}
解决方案 »
- Dictionary使用add方法时出现了索引超出界限,不知啥原因
- 请问如何把对象作为函数的参数传递会有问题吗?
- 柱状图显示百分比
- 在线等!!!!!!着急
- richtextbox 显示中文文字乱码?
- 把datatable存入arraylist里,可行么?怎么取出来呢?
- 急死了,,如何将datagridview中的值和textBox进行绑定,,谢谢
- 请问各位大大这样怎么不能成功插入数据呢?
- 这两个函数用于获取html页面。可是一些速度比较慢的站点会不动。为什么?
- 菜鸟的问题关于c#和visual.studio.net
- 有人考软设吗?该如何复习,有经验的或者有任何看法的都进来说说啊,顶者有分
- DIV滚动条只支持滚轮,当鼠标拖动滚动条,重置的问题。
请大家帮帮忙
public void SetContent(string content)
{
if(this.invokerequired)
{
SetContentDelegate d=new SetContentDelegate(SetContent)
this.invoke(d, new object[]{content});
}
else
{
//正常代码
}
}
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 最新版本:20070212http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
你的方法试过.达不到效果.
//在这里,我直接这样.居然不出错误
txtbox.text = content;
}
但是我直接用savedata函数,就会出错,
以前测试过feiyun0112(http://feiyun0112.cnblogs.com/)说的方法,无法把数据保存到数据库并绑定到datagrid,并在窗口更新datagrid.
高手们,出来帮帮忙呀.在下不胜感激.
我又再次试着用你的方法,发现执行不了savedata函数(我刚刚下载了你的那个阅读器,看了下你的代码,你用上面那个方法只是简单显示一些信息,但我这个savedata函数:一方面要对传过来的值分析,分析完后,还要保存到数据库中,然后又要再次绑定datagrid,进而更新datagrid里面的数据.),执行到savedata函数时,好像线程就停止了,整个程序就这样结束了.奇怪,是不是:public void getcontent(string content){
Monitor.Enter (this);
m_spiderForm.SetContent(content);
Monitor.Pulse(this);
Monitor.Exit(this);
}
这里有什么问题呀?Monitor.Enter (this);...这些去掉后,又达不到要求了,我只允许只有一个线程进入并把相关数据取得.其它的线程在后面等.