try
{
Thread t = new Thread(() =>
{
try
{
result = myclass.Start(mode, Check, Tasks,exeMode);
}
catch (GeneralException ge)
{
}
finally
{
if (Master)
{
}
}
});
t.IsBackground = true;
t.Start();
bResult = true;
}
catch(GeneralException ge)
{
}
mode = Mode.Continue;
if (ErrorCode != 0)
{
this.Invoke(new System.EventHandler(_showErrorMsg), execErrorCode, EventArgs.Empty);
}
else if (result == Result.RegainRequest)
{
this.Invoke(new System.EventHandler(_showMsg), Modes.RegainRequest, new EventArgs());
}
else if (result == Result.RegainRequestNoClear)
{
this.Invoke(new System.EventHandler(_showMsg), Modes.RegainRequestNoClear, new EventArgs());
}
else if (result == Result.PathRemain)
{
this.Invoke(new System.EventHandler(_showMsg), Modes.PathRemain, new EventArgs());
}
else
{
_regainmode = RegainMode.Continue;
}
这里我们有一个叫做 t 的线程,它是后台线程。我在其中调用了 Start 方法,该方法返回值如上面的代码所示。
我必须在下面代码中的 GUI 线程中使用这个结果
else if (result == Result.RegainRequest)
{
this.Invoke(new System.EventHandler(_showMsg), Modes.RegainRequest, new EventArgs());
}
请告诉我如何才能做到这一点,以便我可以在我的 GUI 线程中使用这个值。