@Default. Можете ли вы дать мне код моей программы-примера с вашим решением?
у отменить запущенное задание (когда пользователь нажимает клавишу выхода). когда я нажимаю клавишу «escape», запускается Form_KeyDown, но не отменяет задачу!
CancellationTokenSource tokenSource = new CancellationTokenSource();
CancellationToken token=new CancellationToken();
private async void Search_Button_ClickAsync(object sender, EventArgs e)
{
token = tokenSource.Token;
await (Task.Factory.StartNew(() =>
{
//...my program
},
token));
private void Form_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
{
tokenSource.Cancel();
}
}