• C# 如何用计时器Timer控件实现停留几秒再做切换窗体的操作


    C# Timer用法及实例详解

    关于C# Timer类  在C#里关于定时器类就有3个

    C# Timer使用的方法1.定义在System.Windows.Forms里

    C# Timer使用的方法2.定义在System.Threading.Timer类里  "

    C# Timer使用的方法3.定义在System.Timers.Timer类里

    ◆System.Windows.Forms.Timer

    应用于WinForm中的,它是通过Windows消息机制实现的,类似于VB或Delphi中的Timer控件,内部使用API  SetTimer实现的。它的主要缺点是计时不精确,而且必须有消息循环,Console  Application(控制台应用程序)无法使用。   
      
    ◆System.Timers.Timer

    和System.Threading.Timer非常类似,它们是通过.NET  Thread  Pool实现的,轻量,计时精确,对应用程序、消息没有特别的要求。

    ◆System.Timers.Timer还可以应用于WinForm,完全取代上面的Timer控件。它们的缺点是不支持直接的拖放,需要手工编码。

    C# Timer用法实例

    使用System.Timers.Timer类

    1
    2
    3
    4
    5
    6
    7
    8
    9
    System.Timers.Timer t = new System.Timers.Timer(10000);   //实例化Timer类,设置间隔时间为10000毫秒;   
        t.Elapsed += new System.Timers.ElapsedEventHandler(theout); //到达时间的时候执行事件;   
        t.AutoReset = true;   //设置是执行一次(false)还是一直执行(true);   
        t.Enabled = true;     //是否执行System.Timers.Timer.Elapsed事件;   
         
        public void theout(object source, System.Timers.ElapsedEventArgs e)   
         {   
            MessageBox.Show("OK!");   
         }
     

    xiangjuan314 

    采纳率:95% 来自团队:电脑网络行家 擅长: 佛山市 烦恼 电脑/网络 生活 文化/艺术

    其他回答

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
     
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            int a = 0;
            public Form1()
            {
                InitializeComponent();
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                timer1.Enabled = true;
            }
             
            private void timer1_Tick(object sender, EventArgs e)
            {
                a += 1;
                progressBar1.Value = a;
                 
                if (a == 5) {
                    Form2 frm = new Form2();
                    timer1.Enabled = false;
                    a = 0;
                    frm.Show();
                    this.Hide ();
                 }
            }
     
            private void Form1_Load(object sender, EventArgs e)
            {
                progressBar1.Maximum = 5;
                progressBar1.Minimum =0;
                progressBar1.Value = 0;
                timer1.Interval = 1000;
            }
        }
    }
  • 相关阅读:
    【总结】customErrors无用,自定义页面真正返回的是404状态码
    【转】Server.UrlEncode、HttpUtility.UrlEncode不同编码
    【转】windows 2003 IIS 服务器设置 301重定向 出现 eurl.axd
    【转】Asp.net中Response.Charset 与Response.ContentEncoding区别
    【转】CONTAINS和FREETEXT
    【转】争用、 性能差、 和死锁时使从 ASP.NET 应用程序与 Web 服务的调用
    WCF服务中的方法使用httpwebquest时网站无法响应HTTP/1.1_Server Too Busy
    【转】WCF OpenTimeout, CloseTimeout, SendTimeout, ReceiveTimeout
    【小记录】JS脚本为控件赋值,为什么有的控件取不到值呢?
    Wubi 百度百科
  • 原文地址:https://www.cnblogs.com/zxtceq/p/5894949.html
Copyright © 2020-2023  润新知