≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 软件编程 > C#

C#实现TimeExit 界面无点击定时退出类的简单示例

人气:436 时间:2020-12-27

这篇文章主要为大家详细介绍了C#实现TimeExit 界面无点击定时退出类的简单示例,具有一定的参考价值,可以用来参考一下。

感兴趣C#实现TimeExit 界面无点击定时退出类的简单示例的小伙伴,下面一起跟随四海网的小编罗X来看看吧。<br>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Share
{
    public class TimeExit
    {
        //单例模式
        private static readonly TimeExit m_TimeExit = new TimeExit();
        public static TimeExit Instance() { return m_TimeExit; }
        private TimeExit()
        {
            timer = new System.Timers.Timer(1000);
            timer.Elapsed += new System.Timers.ElapsedEventHandler(theout);//到达时间的时候执行事件;

            timer.AutoReset = true;//设置是执行一次(false)还是一直执行(true);
        }
        /// <summary>
        /// 开始时间
        /// </summary>
        public static DateTime StartTime = DateTime.Now;
        /// <summary>
        /// 设置定时退出时间间隔
        /// </summary>
        public int Time = 60;
        /// <summary>
        /// 剩余时间
        /// </summary>
        public int TimeRemain = 60;

        private System.Timers.Timer timer;
        private List<Label> LableLst = new List<Label>();
        ///// <summary>
        ///// 定时要关闭的窗口集合
        ///// </summary>
        public List<Form> FormLst = new List<Form>();
        //定义委托
        public delegate void IntervalHandle(object sender, EventArgs e);
        //定义事件
        /// <summary>
        /// 到时间执行的事件
        /// </summary>
        public event IntervalHandle IntervalClicked;
        /// <summary>
        /// 开启定时退出器
        /// </summary>
        public void Start()
        {
            timer.Enabled = true;
            StartTime = DateTime.Now;
        }

        private void theout(object sender, EventArgs e)
        {
            TimeSpan lastTimeSpans = DateTime.Now - StartTime;
            TimeRemain = Time - (int)lastTimeSpans.TotalSeconds;
            ///全部界面的定时显示都改
            foreach (var item in LableLst)
            {
                item.Invoke(new Action(() =>
                {
                    item.Text = TimeRemain.ToString();
                }));
            }
            if (lastTimeSpans.TotalSeconds >= Time)
            {
                timer.Enabled = false;
                Interval();
            }
        }
        /// <summary>
        /// 关闭定时退出器
        /// </summary>
        public void Stop()
        {
            timer.Enabled = false;
            HideText();
        }
        /// <summary>
        /// 到时间执行的事件
        /// </summary>
        private void Interval()
        {
            foreach (var item in FormLst)
            {
                item.Close();
            }
            IntervalClicked?.Invoke(this, null);
        }
        public void Add(Label lb)
        {
            LableLst.Add(lb);
        }

        public void Romove(Label lb)
        {
            LableLst.Remove(lb);
        }

        private void HideText()
        {
            ///全部界面的定时显示都改
            foreach (var item in LableLst)
            {
                item.Invoke(new Action(() =>
                {
                    item.Text = "";
                }));
            }
        }

        public void MouseUp(object sender, MouseEventArgs e)
        {
            StartTime = DateTime.Now;
        }
    }
}
 

本文来自:http://www.q1010.com/194/16385-0.html

注:关于C#实现TimeExit 界面无点击定时退出类的简单示例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:TimeExit

您可能感兴趣的文章

上一篇:C#实现ProcessHelp 进程类(启动,杀掉,查找)的简单示例
下一篇:返回列表
热门文章
  • C#相关TableLayoutPanel分页显示自定义控件的实现方法
  • C#分享HttpHelp 请求帮助类用法示例
  • C#实现ProcessHelp 进程类(启动,杀掉,查找)的简单示例
  • c# 判断网络类(获取mac) InternetCheck的简单示例
  • C#全局异常跟只能开启一次程序,打开第二次将把该程序显示最前的简单示例
  • C#文件帮助类(解压,压缩)的简单示例
  • C#读取设置config.ini配置的简单示例
  • C#分天记录日记类的简单示例
  • C#实现TimeExit 界面无点击定时退出类的简单示例
  • 利用c#实现LogHelp 日记分天记录,只记30天日记示例
  • 最新文章
    • C#实现TimeExit 界面无点击定时退出类的简单示例
    • C#实现ProcessHelp 进程类(启动,杀掉,查找)的简单示例
    • 利用c#实现LogHelp 日记分天记录,只记30天日记示例
    • c# 判断网络类(获取mac) InternetCheck的简单示例
    • C#文件帮助类(解压,压缩)的简单示例
    • C#分享HttpHelp 请求帮助类用法示例
    • C#相关TableLayoutPanel分页显示自定义控件的实现方法
    • C#分天记录日记类的简单示例
    • C#读取设置config.ini配置的简单示例
    • C#全局异常跟只能开启一次程序,打开第二次将把该程序显示最前的简单示例

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。