现在在我的UserControl中,我有一个启动线程的按钮单击事件。此后,我不再使用Abort(),而是尝试将我的线程转换为后台进程,以便在我关闭父窗体时将其关闭。我的代码是:
public Thread t;
private void btnInitiate_Click(object sender, EventArgs e)
{
UDPListener myListiner = new UDPListener(this);
t.IsBackground = true;
t = new Thread(() => myListiner.SpreadValue(myCurrentPort, firstTicker, secondTicker, myBeta));
t.Start();
}
但是,当我运行该应用程序时,出现错误消息t.IsBackground=true
,提示“对象引用未设置为对象的实例”。我想知道在这种情况下我要去哪里了。
您只需要在代码中更改行顺序:
...
t = new Thread(() => myListiner.SpreadValue(myCurrentPort, firstTicker, secondTicker, myBeta));
t.IsBackground = true;
...
因为您需要实例化线程,然后才使用它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句