zoukankan      html  css  js  c++  java
  • 两个按钮分别是线程的打开和终止

    public partial class Form1 : Form
        {
            Thread thread=null;
            int n = 0;
    bool severIsRun=false;//用来村示线程是否启动
    private delegate void myDelegate(string str);//定义委托
    private void setRich(string str)//委托
            {
                if (this.textBox1.InvokeRequired)
                {
                    myDelegate md = new myDelegate(this.setRich);
                    this.Invoke(md, new object[] { str });
                }
                else
                    this.textBox1.Text =str;
            }

            public Form1()
            {
                InitializeComponent();
            }

            private void run()
            {
                while(true)
                {
                    setRich((n++).toString());
                    Thread.Sleep(1000);
                }
            }

            private void button1_Click(object sender, EventArgs e)
            {
               if(!severIsRun)
               {
                ThreadStart ts =new ThreadStart(run);
                Thread = new Thread(ts);
                severIsRun=true;
                thread.Start();
               }
            }

            private void button2_Click(object sender, EventArgs e)
            {
               if(severIsRun)
               {
                        thread.Abort();
                         severIsRun=false;
                }
           }

            private void Form1_FormClosing(object sender, FormClosingEventArgs e)
            {
                if(severIsRun)
                 {
                        thread.Abort();
                         severIsRun=false;
                  }
            }
    }

  • 相关阅读:
    适配器和外观模式
    命令模式
    单件模式
    工厂模式
    装饰者模式
    观察者模式(发布--订阅模式)
    设计模式之策略模式
    C#学习笔记15
    C#学习笔记14
    lucky的时光助理-2017.02
  • 原文地址:https://www.cnblogs.com/wuhuisheng/p/1799635.html
Copyright © 2011-2022 走看看