我正在使用递归和回溯制作数独求解器,但是我有一个小问题... 当我运行应用程序时,表单开始滞后,因此我创建了一个线程和一个类来处理所有计算,因此表单不会滞后,并且可以正常工作!
但是,当richTextBox应该从计算类中的数组中打印数字时,它给我这个错误,并显示“ System.InvalidOperationException”。
我该怎么做才能解决此问题?
new Thread(() =>
{
if (calc.CalcMain() == true)
{
printBoard();
}
else
{
MessageBox.Show("No Sulution");
}
}).Start();
// Calculations class
public string[] board2 = { ".........",
".........",
".........",
".........",
".........",
".........",
".........",
".........",
"........." };
// Calculations class
public bool CalcMain()
{
if (solve() == true)
{
return true;
}
else
{
return false;
}
}
// Main Class
richTextBox1.Text = Convert.ToString(calc.board2[0][0]);
所以我在做的是 1.创建一个计算线程。 2.公众数独局所有号码。 3. Solve()将进行计算并填写董事会。 4.将白板上的文本写到richtextbox。