任务不停止

时间:2018-10-19 11:03:34

标签: c# task

我创建了一个新任务。我在里面一会儿。我想以某种方式阻止它。

 Task task;
    CancellationTokenSource cts;

    private  void button1_ClickAsync(object sender, EventArgs e)
    {
        cts = new CancellationTokenSource();
        task  = Task.Factory.StartNew(Run2, cts.Token);


    }
    void Run2()
    {
        int i = 0;
        while (true)
        {

            i++;
            Write(Convert.ToString(i));
           // textBox1.Text = Convert.ToString(i);
            Thread.Sleep(1000);
        }
    }
    public void Write(string value)
    {
        if (InvokeRequired)
        {
            this.Invoke(new Action<string>(Write), new object[] { value });
          //  return;
        }
        textBox1.Text = value;
    }

    private void button2_Click(object sender, EventArgs e)
    { 
            cts.Cancel();

    }
}

当我使用“取消”按钮时,我的任务不会停止。我的文本框仍在增加。

0 个答案:

没有答案