zoukankan      html  css  js  c++  java
  • C#-WinForm-Timer控件

    比如在窗体中显示时间:

    错误思路一:我在窗体结构函数中写入一个死循环,每隔一秒显示一次当前时间

     public Form6()
            {
                InitializeComponent();
    
                while (true)
                {
                    label1.Text = DateTime.Now.ToString("yyyy年MM月dd日hh时mm分ss秒");
                    System.Threading.Thread.Sleep(1000);
                }
            }
    结构函数写循环显示时间

    错误原因:结构函数无限循环,结构函数读不完代码是无法打开窗体的(李献策lxc)

    错误思路二:放置一个按钮,窗体启动后点击按钮开始显示时间

     public Form6()
            {
                InitializeComponent();
    
                
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                while (true)
                {
                    label1.Text = DateTime.Now.ToString("yyyy年MM月dd日hh时mm分ss秒");
                    System.Threading.Thread.Sleep(1000);
                }
            }
    点击按钮显示时间

    错误原因:窗体系统在循环读取时间,无法对窗体进行其他操作

    =======================================================

    如何在窗体中显示当前时间?——Timer控件(李献策lxc)

    Timer控件 - 按用户定义的间隔引发事件的组件,独自占用一个线程,系统正常工作

    常用属性:

      Enabled - 控件是否启用

      Interval - 事件的频率,多长时间触发一次时间(李献策lxc)

    执行事件:每次要触发的事件

    在窗体中显示时间:

     //Timer控件 显示时间
            private void timer1_Tick(object sender, EventArgs e)
            {
                label1.Text = DateTime.Now.ToString("yyyy年MM月dd日hh时mm分ss秒");
            }
    Timer控件显示时间

    ===============================================================

    利用Timer控件制作一个随机抽奖系统

     public Form6()
            {
                InitializeComponent();            
            }
    
            bool start = false;
            //开始或结束抽奖
            private void button1_Click(object sender, EventArgs e)
            {
                if(start==false)
                {
                    timer1.Enabled = true;
                    start = true;
                    button1.Text = "停止";
                }
                else
                {
                    timer1.Enabled = false;
                    start = false;
                    button1.Text = "开始";
                }
            }
            //Timer控件事件
            private void timer1_Tick(object sender, EventArgs e)
            {
                Random r = new Random();
                label1.Text = r.Next(1, 200).ToString();
            }
    随机抽奖

  • 相关阅读:
    mybatis中mysql转义讲解
    mybatis结合mysql批量操作及查询sql
    转载:避免重复插入,更新的sql
    maven下载jar包下载不下来的解决方法
    catalina.home与 catalina.base区别
    ON DUPLICATE KEY UPDATE单个增加更新及批量增加更新的sql
    普通索引的建立及普通索引的排序
    复合索引的优点和注意事项
    com.mysql.jdbc.PacketTooBigException,及mysql 设置 max_allow_packet
    ./和../和/三种路径的区别
  • 原文地址:https://www.cnblogs.com/qq450867541/p/6174175.html
Copyright © 2011-2022 走看看