麦克雷
标题:
C#task中程序挂起等待中,如果要取消task,要怎么实现
[打印本页]
作者:
admin
时间:
2019-6-15 07:31
标题:
C#task中程序挂起等待中,如果要取消task,要怎么实现
比如这名Socket clientsocket = Servertsocket.Accept();当服务器绑定ip,端口后等待客户端连接,如果此时我要结束任务要怎么实现???
Task taskaccept = new Task(() =>
{
while (true)
{
Socket clientsocket = Servertsocket.Accept();
IPEndPoint endPoint = clientsocket.RemoteEndPoint as IPEndPoint;
if (Form1.frm1.textBox2.InvokeRequired)
{
Form1.frm1.textBox2.Invoke(action = () =>
{
Form1.frm1.textBox2.Text += endPoint.Address + "[" + endPoint.Port + "]连接成功" + "\r\n";
});
}
else
{
Form1.frm1.textBox2.Text += endPoint.Address + "[" + endPoint.Port + "]连接成功" + "\r\n";
}
}
}, cts1.Token);
}
Task taskaccept = new Task(() =>
{
while (true)
{
Socket clientsocket = Servertsocket.Accept();
IPEndPoint endPoint = clientsocket.RemoteEndPoint as IPEndPoint;
if (Form1.frm1.textBox2.InvokeRequired)
{
Form1.frm1.textBox2.Invoke(action = () =>
{
Form1.frm1.textBox2.Text += endPoint.Address + "[" + endPoint.Port + "]连接成功" + "\r\n";
});
}
else
{
Form1.frm1.textBox2.Text += endPoint.Address + "[" + endPoint.Port + "]连接成功" + "\r\n";
}
}
}, cts1.Token);
}
作者:
admin
时间:
2019-6-15 07:31
要实现你想实现的功能。你需要完成下面3点
在一个Form中弹出另一个Form(主窗体中弹出提示窗体)
两个Form之间的参数传递(在弹出的窗体中显示还需要点击几次)
子Form更新主Form中的数据(点击弹出窗体后,能将点击次数+1)
1、2点可以通过初始化Form来实现。3点可以通过委托实现
作者:
admin
时间:
2019-6-15 07:32
cts1.Cancel()
欢迎光临 麦克雷 (https://mavom.cn/)
Powered by Discuz! X3.5