Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 再谈WinForm中ProgressBar从并行更改_C#_Winforms - Fatal编程技术网

C# 再谈WinForm中ProgressBar从并行更改

C# 再谈WinForm中ProgressBar从并行更改,c#,winforms,C#,Winforms,已经有很多人写过了。但在我看来并不清楚 我需要根据并行流中提供的演算修改WinForm中的ProgressBar。代码如下: namespace my_space { class myLongCalculus { static int iCount; doSomeLongJob() { cycle1

已经有很多人写过了。但在我看来并不清楚

我需要根据并行流中提供的演算修改WinForm中的ProgressBar。代码如下:

        namespace my_space
        {
          class myLongCalculus
          {
            static int iCount;

            doSomeLongJob()
            {
              cycle1
              {
                cycle2
                {
                  iCount += number
        //      Here should be ProgressBar in Form1 modified !
                }
              }
           }

           public class Form1 : Form
           {
             public Form1()
             {
               int iMax = 6;

               ProgressBar pb = new ProgressBar();
               pb.Max = Maximum;

               for(int i=0, i<iMax; i++)
                 listOfObjects.Add(new myLongCalculus(i));

               Parallel.For(0, iMax, i =>
               {
                 listOfObjects[i].doSomeLongJob();
               });
             }
            }

         }
名称空间我的空间
{
类微积分
{
静态整数计数;
doSomeLongJob()
{
循环1
{
周期2
{
i计数+=数字
//这里应该是修改了Form1中的ProgressBar!
}
}
}
公开课表格1:表格
{
公共表格1()
{
intimax=6;
ProgressBar pb=新的ProgressBar();
pb.Max=最大值;
对于(int i=0,i
{
对象列表[i].doSomeLongJob();
});
}
}
}
我尝试了各种技巧,包括线程、调用,但结果相同: 在第一次更改ProgressBar后,并行流终止并返回到调用程序


任何想法都将受到欢迎

我真的希望看到“各种技巧线程,调用”您尝试过的以及真实代码中不起作用的内容。给出了真实代码。只有我没有编写的周期。iCount+=number//这里应该是Form1中的进度条修改!如果我尝试访问此处的进度条“…Form1中的已修改”并行流终止并返回给调用者。