C# WinForm-Timer控件的使用

作者:野性狼心 时间:2023-11-20 06:54:00 

比如在窗体中显示时间:

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


public Form6()
   {
     InitializeComponent();

while (true)
     {
       label1.Text = DateTime.Now.ToString("yyyy年MM月dd日hh时mm分ss秒");
       System.Threading.Thread.Sleep(1000);
     }
   }

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

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


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控件

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

C# WinForm-Timer控件的使用

常用属性:

Enabled - 控件是否启用

Interval - 事件的频率,多长时间触发一次时间

C# WinForm-Timer控件的使用

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

在窗体中显示时间:


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

C# WinForm-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();
   }

C# WinForm-Timer控件的使用

来源:https://www.cnblogs.com/qq450867541/p/6174175.html

标签:c#,winform,time,控件
0
投稿

猜你喜欢

  • Android自定义TextView实现drawableLeft内容居中

    2022-04-24 18:20:14
  • Unity 按钮添加OnClick事件操作

    2023-06-28 15:57:27
  • Java同步容器和并发容器详解

    2023-03-22 06:45:28
  • 详解Java volatile 内存屏障底层原理语义

    2023-05-08 19:25:47
  • C#实现百度ping推送功能的方法

    2023-03-01 18:15:56
  • Java Lambda表达式常用的函数式接口

    2021-10-30 13:43:53
  • springboot中自定义异常以及定制异常界面实现过程解析

    2023-05-13 09:14:00
  • Android 读取文件内容实现方法总结

    2022-09-15 12:57:56
  • OpenJDK源码调试图文教程

    2022-09-26 01:40:25
  • Opencv实现傅里叶变换

    2023-08-24 18:53:29
  • Java编程经典小游戏设计-打砖块小游戏源码

    2021-07-08 01:17:28
  • 详解Spring Cloud Gateway修改请求和响应body的内容

    2022-12-03 04:40:05
  • Android MTU 值修改的实例详解

    2021-09-20 02:27:07
  • springboot redis分布式锁代码实例

    2023-12-05 21:40:10
  • Android实现动画效果详解

    2022-04-19 20:37:43
  • C#如何删除指定文件或文件夹

    2022-06-30 21:28:49
  • 简单的java socket客户端和服务端示例

    2023-06-27 18:13:27
  • JavaMailSender实现邮箱验证功能

    2022-05-11 12:32:59
  • Java 详解包装类Integer与int有哪些共通和不同

    2022-06-15 20:12:18
  • Android超详细讲解组件ScrollView的使用

    2022-08-05 09:55:18
  • asp之家 软件编程 m.aspxhome.com