由于代码量较多,就不便贴上来显示了.是这样的,在做一个系统,进入主窗体后要实时抓取自定义网络地址上分析下来的数据进数据库然后显示,由于该网络地址上的数据是30秒后刷新一次数据.那么我就得设置Timer每30秒后执行响应事件抓取一次数据进库.库里只留当前30秒内最新的数据. 我的思路是加载主窗体的时候第一次抓取,Timer等待30秒后执行事件删除之前抓取的数据然后又重新循环的去抓来进库显示.问题: 一二步没问题能够正常通过.当30秒后Timer去执行再次抓取数据的时候webBrowser出错.因为这个控件是单线程的,在网上查了下资料,有说用数组的,有说用委托的.但没有个明确的解决方案与例子. 希望有解决办法的朋友给予帮助,最好能有个例子与注释,不胜感激!!!
解决方案 »
- VS2008 DataSet.xsd 文件不能通过数据集编辑器进行编辑?
- 高分求C#,asp.net资料,有好的给高分,急用啊,救命啊!!!!
- 请指教DataView中的数据导入EXCEL的方法
- c#有米有像c++ primer 或 think in java 这样的经典书籍
- 程序运行CPU占用太高(求助)
- c# C++中的string类型是否一致
- 怎么捕获触发器返回的异常???紧急求救~~~
- C# Winfrom 关PDF文件的问题
- 怎么设置窗口才能使它象MSN提示窗口那样一直在最上面?
- visual studio 2005 C#里面的webbrowser控件和microsoft Web浏览器 控件
- nhibernate 奇怪的未知实体类 已经嵌入 。。希望 大家帮忙
- 无法显示XML页???
{ private void button1_Click(object sender, EventArgs e)
{
System.Threading.Thread s = new System.Threading.Thread(new System.Threading.ThreadStart(test));
s.ApartmentState = System.Threading.ApartmentState.STA;
s.Start();
} public void test()
{
this.Invoke(new EventHandler(this.invokeTest));
}
public void invokeTest(object sender,EventArgs e)
{
System.Windows.Forms.WebBrowser wb = new WebBrowser();
this.Controls.Add(wb);
}
public Form1()
{
InitializeComponent();
}
}
原因参考
http://blog.csdn.net/jinjazz/archive/2007/11/29/1907240.aspx
WebBrowser 控件还是在主线程里建立的啊!