您可以通过如下后台工作程序发送参数:
int a = rnd.Next(1, 9);
int b = rnd.Next(11, 22);
var data = new Tuple<int, int>(a, b);
bg.RunWorkerAsync(argument: data);
然后在你的工作方法中
void SlowMultiply(object sender, DoWorkEventArgs e)
{
var mydata = (Tuple<int, int>) e.Argument;
int product = mydata.Item1 * mydata.Item2;
for (int i = 1; i <= 5; i++)
{
Thread.Sleep(500);
}
product = prod.ToString(); // update the global variable
}
}
或者,您可以计算Worker方法中的随机数。