processbar用另一个线程去显示主进程的运行情况,C#怎么实现?
对多线程的处理不是很熟悉。请指教。
对多线程的处理不是很熟悉。请指教。
解决方案 »
- C#调用C++Builder的dll不成功
- C# 如何在钩子中截取模拟的键盘输入
- 还是关于MemoryStream中一个方法的疑惑。这种函数满常见的,但没明白过。
- 寻找datagridview 有数值的行数失败,帮忙看一下原因
- 测试的基本问题
- 开发c#应用程序,数据库更新问题
- 怎样用C#代码在SQL服务器中建立一个数据库?
- 求救啊
- ------------------------一个弱智的问题...困扰了我..."Textbox"的问题-----------------------
- C#函数
- axWebBrowser对js代码弹出新窗体大小~~~~急~~~在线等~~
- SMS短消息PDU编码与解码
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.Diagnostics;namespace BIAD_Auth
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
private int pbvalue = 0; private void button1_Click(object sender, EventArgs e)
{
progressBar1.Minimum = 0;
progressBar1.Maximum = 20;
System.Threading.Thread t = new System.Threading.Thread(new ThreadStart(SyncProcessbar));
t.Start();
for( int i= 0;i<20; i++)
{
Thread.Sleep(10000);
pbvalue++;
}
}
private void SyncProcessbar()
{
for (int j = 0; j < 200; j++)
{
Thread.Sleep(1000);
Trace.WriteLine("pbvalue = " + pbvalue);
progressBar1.Value = pbvalue;
}
}
}
}////////////
progressBar1.Value = pbvalue; //这行显示如下错误:Cross-thread operation not valid: Control 'progressBar1' accessed from a thread other than the thread it was created on.