簡體   English   中英

如何在C#中停止線程

[英]How to Stop a thread in C#

我創建了一個簡單的C#Form應用程序 ,還有另一個類Mouse_Tracking.cs

當我單擊開始按鈕時 ,線程啟動並正常工作 但是當我單擊“ 停止”按鈕時, 沒有任何反應

您能幫我解決問題代碼的問題嗎? :( :( :(

這里是Mouse_Tracking類的代碼。

public class Mouse_Tracking
    {
        public int flag = 1;

        public void run()
        {
            while (flag == 1)
            {
                //Do Something
            }
    }

這是開始按鈕的代碼

private void btn_start_Click(object sender, EventArgs e)
    {
        var mst = new Mouse_Tracking();

        Thread thread1 = new Thread(new ThreadStart(mst.run));

        thread1.Start();
    }

這是停止按鈕的代碼

 private void btn_stop_Click(object sender, EventArgs e)
        {
            var mst = new Mouse_Tracking();

            mst.flag = 0;
        }

您沒有設置在btn_start_Click中創建的對象的標志。 而是創建一個新的Mouse_Tracking對象並設置其值。 使用相同的實例。

對於前;

聲明為

Mouse_Tracking mst = new Mouse_Tracking();

private void btn_start_Click(object sender, EventArgs e)
{
    mst = new Mouse_Tracking();
    .......
}

private void btn_stop_Click(object sender, EventArgs e)
{
     mst.flag = 0;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM