博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Winform定时启动
阅读量:5317 次
发布时间:2019-06-14

本文共 4280 字,大约阅读时间需要 14 分钟。

System.Timers.Timer t;        int sum = 0;        int qian;        int bai;        int shi;        int ge;        public 测试定时启动()        {            InitializeComponent();        }        //1.使用System.Timers.Timer        //2.thread        Thread th;//定义线程        private void 测试定时启动_Load(object sender, EventArgs e)        {            textBox1.Text = "00.00";            t = new System.Timers.Timer(1000);            t.Elapsed += new System.Timers.ElapsedEventHandler(theout);//到达时间的时候执行事件;            t.AutoReset = true;//设置是执行一次(false)还是一直执行(true);                               th = new Thread(calculate);//2.线程方法            th.IsBackground = true;        }        private void theout(object sender, EventArgs e)        {            sum++;            qian = sum / 1000;            bai = sum % 1000 / 100;            shi = sum % 100 / 10;            ge = sum % 10;            textBox1.Text = qian.ToString() + bai.ToString() + "." + shi.ToString() + ge.ToString();            lbmessge.Items.Insert(0, "我1111");        }        private void button1_Click(object sender, EventArgs e)        {            t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件;            //如果不写下面这句会有一个异常。            //异常:线程间操作无效: 从不是创建控件"richtextbox"的线程访问它            //但这不是最好的方法。如果只有一个进程调用richtextbox而已。就可以用下面这句            //如果有多个线程调用richtextbox等控件。就要用委托。见thread第二种方法            Control.CheckForIllegalCrossThreadCalls = false;        }        private void calculate()//线程的第一种方法        {            while (true)            {                sum++;                qian = sum / 1000;                bai = sum % 1000 / 100;                shi = sum % 100 / 10;                ge = sum % 10;                textBox1.Text = qian.ToString() + bai.ToString() + "." + shi.ToString() + ge.ToString();                Thread.Sleep(1000);            }        }
public partial class 测试定时启动 : Form    {        System.Timers.Timer t;        int sum = 0;        int qian;        int bai;        int shi;        int ge;        public 测试定时启动()        {            InitializeComponent();        }        //1.使用System.Timers.Timer        //2.thread        Thread th;//定义线程        private void 测试定时启动_Load(object sender, EventArgs e)        {            textBox1.Text = "00.00";            th = new Thread(calculate);            th.IsBackground = true;        }         private void calculate()//线程的第一种方法        {            while (true)            {                sum++;                qian = sum / 1000;                bai = sum % 1000 / 100;                shi = sum % 100 / 10;                ge = sum % 10;                textBox1.Text = qian.ToString() + bai.ToString() + "." + shi.ToString() + ge.ToString();                Thread.Sleep(1000);            }        }               private void button1_Click(object sender, EventArgs e)        {            th.Start();             Control.CheckForIllegalCrossThreadCalls = false; // 同2,不写会报错                    }    }

 

 System.Timers.Timer t;        int sum = 0;        int qian;        int bai;        int shi;        int ge;        public 测试定时启动()        {            InitializeComponent();        }

        //1.使用System.Timers.Timer        //2.thread        Thread th;//定义线程        private void 测试定时启动_Load(object sender, EventArgs e)        {            textBox1.Text = "00.00";            t = new System.Timers.Timer(1000);            t.Elapsed += new System.Timers.ElapsedEventHandler(theout);//到达时间的时候执行事件;            t.AutoReset = true;//设置是执行一次(false)还是一直执行(true);                   
            th = new Thread(calculate);//2.线程方法            th.IsBackground = true;        }
        private void theout(object sender, EventArgs e)        {            sum++;            qian = sum / 1000;            bai = sum % 1000 / 100;            shi = sum % 100 / 10;            ge = sum % 10;            textBox1.Text = qian.ToString() + bai.ToString() + "." + shi.ToString() + ge.ToString();            lbmessge.Items.Insert(0, "我1111");        }
        private void button1_Click(object sender, EventArgs e)        {            t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件;            //如果不写下面这句会有一个异常。            //异常:线程间操作无效: 从不是创建控件"richtextbox"的线程访问它            //但这不是最好的方法。如果只有一个进程调用richtextbox而已。就可以用下面这句            //如果有多个线程调用richtextbox等控件。就要用委托。见thread第二种方法
            Control.CheckForIllegalCrossThreadCalls = false;        }
        private void calculate()//线程的第一种方法        {            while (true)            {                sum++;                qian = sum / 1000;                bai = sum % 1000 / 100;                shi = sum % 100 / 10;                ge = sum % 10;                textBox1.Text = qian.ToString() + bai.ToString() + "." + shi.ToString() + ge.ToString();                Thread.Sleep(1000);            }        }

转载于:https://www.cnblogs.com/lacey/p/5673644.html

你可能感兴趣的文章
dedecms讲解-arc.listview.class.php分析,列表页展示
查看>>
安卓当中的线程和每秒刷一次
查看>>
wpf样式绑定 行为绑定 事件关联 路由事件实例
查看>>
TCL:表格(xls)中写入数据
查看>>
Oracle事务
查看>>
String类中的equals方法总结(转载)
查看>>
标识符
查看>>
给大家分享一张CSS选择器优选级图谱 !
查看>>
Node.js 入门:Express + Mongoose 基础使用
查看>>
一步步教你轻松学奇异值分解SVD降维算法
查看>>
objective-c overview(二)
查看>>
python查询mangodb
查看>>
驱动的本质
查看>>
Swift的高级分享 - Swift中的逻辑控制器
查看>>
Python数据分析入门案例
查看>>
vue-devtools 获取到 vuex store 和 Vue 实例的?
查看>>
内存地址对齐
查看>>
创新课程管理系统数据库设计心得
查看>>
Could not resolve view with name '***' in servlet with name 'dispatcher'
查看>>
pandas 修改指定列中所有内容
查看>>