• 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();
            }
    随机抽奖

  • 相关阅读:
    linux用户与组管理
    历史轨迹
    win10右击菜单在左边
    uwp使用资源限定符Devicefamily不同设备使用不同布局
    uwp通用应用重写列表面板控件
    uwp通用应用布局触发器AdaptiveTrigger
    ci的一些基础内容
    ci的控制器视图模型
    ci的url操作
    baidupcs-go命令
  • 原文地址:https://www.cnblogs.com/qq450867541/p/6174175.html
Copyright © 2020-2023  润新知