Como cancelar uma tarefa em execução?
Quero cancelar uma tarefa em execução (quando os usuários pressionam a tecla Esc). quando clico na tecla "escape", Form_KeyDown é executado, mas não cancela a tarefa!
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();
}
}