@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();
  }
}

Ответы на вопрос(1)

Ваш ответ на вопрос