精华内容
下载资源
问答
  • C#Winform定时执行一段程序

    万次阅读 2015-09-24 12:18:53
    写了一个Winform,需要完成定时采集数据的功能,找到了一个解决办法。 System.Timers.Timer timer = new System.Timers.Timer();timer.Enabled = true;timer.Interval = 1000;//执行间隔时间,单位为毫秒 timer....

           写了一个Winform,需要完成定时采集数据的功能,找到了一个解决办法。

    System.Timers.Timer timer = new System.Timers.Timer();
    timer.Enabled = true;
    timer.Interval = 1000;//执行间隔时间,单位为毫秒  
    timer.Start();
    timer.Elapsed += new System.Timers.ElapsedEventHandler(Timer1_Elapsed); 
    

    private void Timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
    {
          // 得到intHour,intMinute,intSecond,是当前系统时间  
          int intHour = e.SignalTime.Hour;
          int intMinute = e.SignalTime.Minute;
          int intSecond = e.SignalTime.Second;
          // System.Windows.Forms.MessageBox.Show(intHour.ToString());
    
          //自己设置hour,minuter,second,到设定的时间就开始执行程序  
          if (intHour == hour && intMinute == minuter && intSecond == second)
          {               
                System.Windows.Forms.MessageBox.Show("时间到了!");
          }
    }   


    展开全文
  • 需要使用timer 定时器控件  timer1.Interval 设置时间间隔 ...timer1.Tick 到达时间间隔时触发事件 ...委托以处理事件 ,一般可以在...//每隔一秒需要执行的函数体,timer start后每隔一秒就会执行该函数 }

    需要使用timer 定时器控件 

    timer1.Interval 设置时间间隔

    timer1.Tick 到达时间间隔时触发事件

    test_tick 时间处理函数

    timer1.Tick   +=   new   System.EventHandler(test_Tick);   
    委托以处理事件 ,一般可以在Form 的构造函数 InitializeComponent构造界面组件函数中添加以上代码以注册test_Tick处理函数;

    当然,你也可以不用这么麻烦,再窗体视图中直接双击timer控件,系统就会自动帮你生成一个类似于test_Tick的处理函数

    通常要执行需要使用 timer1.Start();//启动定时器 timer1.Stop();.//关闭定时器方法

    一般代码过程如下:

    private void Form_Load(object sender, EventArgs e)
    {timer1.Interval   =   1000;  
    timer1.Start();}
      private   void   test_Tick(...) 
    {
    //每隔一秒需要执行的函数体,timer start后每隔一秒就会执行该函数
    }  


    展开全文
  • 可以定时开启、关闭程序,开启、关闭程序可精确到秒!程序相关配置请查看exe.config配置文件。
  • Winform程序开发中,当我们需要固定某个时间来执行某个方法函数来达到一个功能效果,我们可以这样做。 首先,创建一个 项目 打开From窗体 选中窗体,双击或者按F7 在构造函数里面写 //定时器 ...

    在Winform程序开发中,当我们需要固定某个时间来执行某个方法函数来达到一个功能效果,我们可以这样做。

    首先,创建一个 项目

    打开From窗体

    选中窗体,双击或者按F7

     

    在构造函数里面写

      //定时器
                System.Timers.Timer timer = new System.Timers.Timer();
                timer.Enabled = true;
                timer.Interval = 1000;//执行间隔时间,单位为毫秒  
                timer.Start();
                //指定每天时间1执行
                timer.Elapsed += new System.Timers.ElapsedEventHandler(Timer1_Elapsed);
                //指定每天时间2执行
                timer.Elapsed += new System.Timers.ElapsedEventHandler(Timer2_Elapsed);

     然后再创建任务执行方法函数

    //定时每天执行
    private void Timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
    {
    	// 得到intHour,intMinute,intSecond,是当前系统时间  
    	int intHour = e.SignalTime.Hour;
    	int intMinute = e.SignalTime.Minute;
    	int intSecond = e.SignalTime.Second;
     
    	int hour = 10;
    	int minuter = 30;
    	int second = 00;
     
    	//自己设置hour,minuter,second,到设定的时间就开始执行程序  
    	//if (intHour == hour && intMinute == minuter && intSecond == second)
    	if (intSecond == second)
    	{
            //写入你要执行的方法函数
    		System.Windows.Forms.MessageBox.Show(intHour.ToString());
    	}
    }
     
    private void Timer2_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
    {
    	// 得到intHour,intMinute,intSecond,是当前系统时间  
    	int intHour = e.SignalTime.Hour;
    	int intMinute = e.SignalTime.Minute;
    	int intSecond = e.SignalTime.Second;
     
    	int hour = 10;
    	int minuter = 30;
    	int second = 03;
     
    	//自己设置hour,minuter,second,到设定的时间就开始执行程序  
    	//if (intHour == hour && intMinute == minuter && intSecond == second)
    	if (intSecond == second)
    	{
    		System.Windows.Forms.MessageBox.Show(intHour.ToString());
    	}
    }

     

    Demo下载:https://download.csdn.net/download/weixin_39237340/15152256

    展开全文
  • IDE:vs2019 项目文件: ...使用场景:定时访问本机(服务器)的某个页面,发送参数。执行计划任务。 界面: C# 代码: using System; using System.Net; using System.Text; using ...

    IDE:vs2019

    项目文件:

    链接: https://pan.baidu.com/s/1H-Q3nc6sKQbD32pp0vuQIg

    提取码: ncce 

    使用场景:定时访问本机(服务器)的某个页面,发送参数。执行计划任务。

    界面:

     

    C# 代码:

    using System;
    using System.Net;
    using System.Text;
    using System.Windows.Forms;
    using System.Web;
    using System.IO;
    using System.Text.RegularExpressions;
    
    namespace CronVisitURL
    {
        public partial class FormMain : Form
        {
            // 初始化-参数
            public int autoStart = 1;                                           // 自动开始标记
            public int setLines = 5;                                            // 配置信息行数
            public string strURL = "";                                          // 访问url
            public string strPostKey = "";                                      // 访问postKey
            public string strPostData = "";                                     // 访问postDate
            public int startTime = 0;                                           // 运行时段-起始
            public int endTime = 0;                                             // 运行时段-结束
            public Regex regex = new Regex(@"^http:\/\/(127\.0\.0\.1)|(localhost)\/"); // 访问url,校验规则
            public string iniPath = Application.StartupPath + @"\setting.ini";         // 配置文件路径
    
            public FormMain()
            {
                InitializeComponent();
            }
    
            // 窗体载入后
            private void FormMain_Load(object sender, EventArgs e)
            {
                //读取配置信息
                SetInfoRead();
            }
    
            // 状态栏图标单击
            private void NotifyIcon1_MouseClick(object sender, MouseEventArgs e)
            {
                // 左键单击
                if (e.Button == MouseButtons.Left)
                {
                    Show();
                    Activate();
                    WindowState = FormWindowState.Normal;
                }
            }
    
            // 状态栏图标菜单-退出
            private void ExitMenuItem_Click(object sender, EventArgs e)
            {
                if (MessageBox.Show("你确定要退出程序吗?", "确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.OK)
                {
                    notifyIcon1.Visible = false;
                    Close();
                    Dispose();
                    Application.Exit();
                }
            }
    
            //状态栏图标菜单-显示
            private void ShowMenuItem_Click(object sender, EventArgs e)
            {
                Show();
                Activate();
                WindowState = FormWindowState.Normal;
            }
    
            // 按钮-默认
            private void BtnDefault_Click(object sender, EventArgs e)
            {
                TxbUrl.Text = "http://127.0.0.1/mws/cron/cron.php";
                TxbPostKey.Text = "hf_tech";
                TxbPostData.Text = "good";
                NumStartHour.Value = 0;
                NumStartMinute.Value = 0;
                NumStartSecond.Value = 0;
                NumEndHour.Value = 23;
                NumEndMinute.Value = 59;
                NumEndSecond.Value = 59;
                NumVisitRate.Value = 1;
                autoStart = 1;
    
                LabMsg.Text = "恢复成功";
            }
    
            // 按钮-保存
            private void BtnSave_Click(object sender, EventArgs e)
            {
                SetInfoSave();
            }
    
            // 按钮-退出
            private void BtnExit_Click(object sender, EventArgs e)
            {
                DialogResult result = MessageBox.Show("是否退出?选否,最小化到托盘", "操作提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
                if (result == DialogResult.Yes)
                {
                    Close();
                    Dispose();
                    Application.Exit();
                }
                else if(result == DialogResult.No)
                {
                    WindowState = FormWindowState.Minimized;
                    Visible = false;
                    notifyIcon1.Visible = true;
                }
            }
    
            // 按钮-隐藏
            private void BtnHide_Click(object sender, EventArgs e)
            {
                Hide();
                notifyIcon1.Visible = true;
            }
    
            // 按钮-暂停
            private void BtnPause_Click(object sender, EventArgs e)
            {
                // 修改界面
                BtnPause.Enabled = false;
                BtnStart.Enabled = true;
                groupBox1.Enabled = true;
                groupBox2.Enabled = true;
                panel1.Enabled = true;
    
                LabMsg.Text = "定时访问,暂停";
    
                timer1.Stop();
            }
    
            // 按钮-开始
            private void BtnStart_Click(object sender, EventArgs e)
            {
                // 初始化
                int visitRate = Convert.ToInt32(NumVisitRate.Value.ToString());
                strURL = TxbUrl.Text.Trim();            // url
                strPostKey = TxbPostKey.Text.Trim();    // PostKey
                strPostData = TxbPostData.Text.Trim();  // PostData
    
                // 校验url
                if (regex.IsMatch(strURL) == false)
                {
                    throw new SetException("配置信息异常:访问url,必须以本地域名或本机IP开头");
                }
    
                // 校验post
                if (strPostKey == "")
                {
                    throw new SetException("访问postKey,数值异常");
                }
                if (strPostData == "")
                {
                    throw new SetException("访问postData,数值异常");
                }
    
                // 校验频率
                if (visitRate > 3600 || visitRate < 1)
                {
                    throw new SetException("访问频率,数值异常");
                }
    
                // 获取运行时段
                GetRunTime();
    
                // 开始访问
                StartVist(visitRate);
            }
    
            // 开始访问
            private void StartVist(int visitRate)
            {
                // 修改界面
                BtnPause.Enabled = true;
                BtnStart.Enabled = false;
                groupBox1.Enabled = false;
                groupBox2.Enabled = false;
                panel1.Enabled = false;
    
                LabMsg.Text = "定时访问,开始";
    
                // 启动计时器
                timer1.Interval = visitRate * 1000; // 默认毫秒
                timer1.Start();
            }
    
            // 计时器
            private void Timer1_Tick(object sender, EventArgs e)
            {
                // 获取当前时间
                string timeStr = DateTime.Now.ToLongTimeString().ToString();
                string result = Regex.Replace(timeStr, @"[^0-9]+", "");
                int timeNow = Convert.ToInt32(result);
    
                // 如果在运行时段内
                if (startTime <= timeNow  && timeNow <= endTime)
                {
                    try
                    {
                        VisitURL();
                    }
                    catch
                    {
                        LabMsg.Text = "访问失败,请检查后,重试";
                        timer1.Stop();
                    }
                }
            }
    
            // 绑定当前时间是否在运行时段内
            private void GetRunTime()
            {
                // 获取运行时段
                string statrHour = NumStartHour.Value.ToString();       // 开始-时
                string statrMinute = NumStartMinute.Value.ToString();   // 开始-分
                string statrSecond = NumStartSecond.Value.ToString();   // 开始-秒
    
                string endHour = NumEndHour.Value.ToString();           // 结束-时
                string endMinute = NumEndMinute.Value.ToString();       // 结束-分
                string endSecond = NumEndSecond.Value.ToString();       // 结束-秒
    
                // 补零
                if (Convert.ToInt32(statrMinute) < 10)
                {
                    statrMinute = "0" + statrMinute;
                }
                if (Convert.ToInt32(statrSecond) < 10)
                {
                    statrSecond = "0" + statrSecond;
                }
    
                if (Convert.ToInt32(endMinute) < 10)
                {
                    endMinute = "0" + endMinute;
                }
                if (Convert.ToInt32(endSecond) < 10)
                {
                    endSecond = "0" + endSecond;
                }
    
                // 转换
                string startStr = statrHour + statrMinute + statrSecond;
                string endStr = endHour + endMinute + endSecond;
                startTime = Convert.ToInt32(startStr);
                endTime = Convert.ToInt32(endStr);
            }
    
            // 访问url-post
            private void VisitURL()
            {
                // 初始化
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strURL);
                //Post请求方式
                request.Method = "POST";
                // 内容类型
                request.ContentType = "application/x-www-form-urlencoded";
                // 参数经过URL编码
                string paraUrlCoded = HttpUtility.UrlEncode(strPostKey);
                paraUrlCoded += "=" + HttpUtility.UrlEncode(strPostData);
                byte[] payload;
                //将URL编码后的字符串转化为字节
                payload = Encoding.UTF8.GetBytes(paraUrlCoded);
                //设置请求的 ContentLength 
                request.ContentLength = payload.Length;
                //获得请 求流
                Stream writer = request.GetRequestStream();
                //将请求参数写入流
                writer.Write(payload, 0, payload.Length);
                // 关闭请求流
                writer.Close();
                // 获得响应流
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
                string responseText = reader.ReadToEnd();
                reader.Close();
    
                LabMsg.Text = DateTime.Now.ToLongTimeString().ToString() + ",收到数据:" + responseText;
            }
    
            // 自动开始-图片
            private void PicAutoStart_Click(object sender, EventArgs e)
            {
                // 不打勾
                if (autoStart == 1)
                {
                    PicAutoStart.Image = Properties.Resources.cb1;
                    autoStart = 0;
                }
    
                // 打勾
                else
                {
                    PicAutoStart.Image = Properties.Resources.cb2;
                    autoStart = 1;
                }
            }
    
            // 自动开始-标签
            private void LabAutoStart_Click(object sender, EventArgs e)
            {
                // 不打勾
                if (autoStart == 1)
                {
                    PicAutoStart.Image = Properties.Resources.cb1;
                    autoStart = 0;
                }
    
                // 打勾
                else
                {
                    PicAutoStart.Image = Properties.Resources.cb2;
                    autoStart = 1;
                }
            }
    
            // 配置信息-读取
            private void SetInfoRead()
            {
                if (File.Exists(iniPath))
                {
                    try
                    {
                        // 初始化-读取数据
                        string[] lines = File.ReadAllLines(iniPath, Encoding.UTF8); // 将文本内容转换为数组
                        string[] line1 = lines[1].Split(','); // postKey,Postdata
                        string[] line2 = lines[2].Split(','); // 开始时,分,秒
                        string[] line3 = lines[3].Split(','); // 结束时,分,秒
    
                        // 初始化-数据转换
                        string[] visit = new string[3];
                        int[] cron = new int[8];
    
                        visit[0] = lines[0];                   // 访问url
                        visit[1] = line1[0];                   // 访问postKey
                        visit[2] = line1[1];                   // 访问postData
                        cron[0] = Convert.ToInt32(line2[0]);   // 开始-时
                        cron[1] = Convert.ToInt32(line2[1]);   // 开始-分
                        cron[2] = Convert.ToInt32(line2[2]);   // 开始-秒
                        cron[3] = Convert.ToInt32(line3[0]);   // 结束-时
                        cron[4] = Convert.ToInt32(line3[1]);   // 结束-分
                        cron[5] = Convert.ToInt32(line3[2]);   // 结束-秒
                        cron[6] = Convert.ToInt32(lines[4]);   // 访问频率
                        cron[7] = Convert.ToInt32(lines[5]);   // 自动开始
    
                        // 初始化-数据校验
                        bool result = SetInfoCheck(visit, cron);
    
                        if(result == true)
                        {
                            // 赋值
                            TxbUrl.Text = visit[0];
                            TxbPostKey.Text = visit[1];
                            TxbPostData.Text = visit[2];
                            NumStartHour.Value = cron[0];
                            NumStartMinute.Value = cron[1];
                            NumStartSecond.Value = cron[2];
                            NumEndHour.Value = cron[3];
                            NumEndMinute.Value = cron[4];
                            NumEndSecond.Value = cron[5];
                            NumVisitRate.Value = cron[6];
                            autoStart = cron[7];
    
                            // 开启后自动运行
                            if (autoStart == 1)
                            {
                                //打勾
                                PicAutoStart.Image = Properties.Resources.cb2;
    
                                // 初始化
                                strURL = visit[0];
                                strPostKey = visit[1];
                                strPostData = visit[2];
    
                                // 获取运行时段
                                GetRunTime();
    
                                // 自动开始
                                StartVist(cron[6]);
                            }
    
                            else
                            {
                                // 不打勾
                                PicAutoStart.Image = Properties.Resources.cb1;
                            }
    
                            LabMsg.Text = "配置信息,读取成功";
                        }
                    }
                    catch
                    {
                        LabMsg.Text = "配置信息,读取失败,请重新保存设置";
                    }
                }
    
                else
                {
                    LabMsg.Text = "配置文件,未找到,请重新保存设置";
                }
            }
    
            // 配置信息-保存
            private void SetInfoSave()
            {
                // 初始化
                string[] visit = new string[3];
                int[] cron = new int[8];
    
                visit[0] = TxbUrl.Text.Trim();                                // 访问url
                visit[1] = TxbPostKey.Text.Trim();                            // 访问postKey
                visit[2] = TxbPostData.Text.Trim();                           // 访问postData
                cron[0] = Convert.ToInt32(NumStartHour.Value.ToString());     // 开始-时
                cron[1] = Convert.ToInt32(NumStartMinute.Value.ToString());   // 开始-分
                cron[2] = Convert.ToInt32(NumStartSecond.Value.ToString());   // 开始-秒
                cron[3] = Convert.ToInt32(NumEndHour.Value.ToString());       // 结束-时
                cron[4] = Convert.ToInt32(NumEndMinute.Value.ToString());     // 结束-分
                cron[5] = Convert.ToInt32(NumEndSecond.Value.ToString());     // 结束-秒
                cron[6] = Convert.ToInt32(NumVisitRate.Value.ToString());     // 访问频率
                cron[7] = autoStart;                                          // 自动开始
    
                // 数据校验
                bool result = SetInfoCheck(visit, cron);
    
                if (result == true)
                {
                    // 设置信息-字符串
                    string str = visit[0] + Environment.NewLine;
                    str += visit[1] + ',' + visit[2] + Environment.NewLine;
                    str += cron[0].ToString() + ',' + cron[1].ToString() + ',' + cron[2].ToString() + Environment.NewLine;
                    str += cron[3].ToString() + ',' + cron[4].ToString() + ',' + cron[5].ToString() + Environment.NewLine;
                    str += cron[6].ToString() + Environment.NewLine;
                    str += cron[7].ToString();
    
                    // 写入配置文件
                    File.WriteAllText(iniPath, str, Encoding.UTF8);
    
                    LabMsg.Text = "配置信息,保存成功";
                }
            }
    
            // 配置数据校验
            private bool SetInfoCheck(string[] visit, int[] cron)
            {
                // 参数个数-访问
                if(visit.GetLength(0) !=3)
                {
                    LabMsg.Text = "访问参数,数值异常";
                    return false;
                }
    
                // 参数个数-每日运行时段,访问频率,自动运行
                if (cron.GetLength(0) !=8)
                {
                    LabMsg.Text = "计时器,数值异常";
                    return false;
                }
    
                // 访问-url
                if (regex.IsMatch(visit[0]) == false)
                {
                    LabMsg.Text = "配置信息异常:访问url,必须以本地域名或本机IP开头";
                    return false;
                }
                
                // 访问-postKey
                if (visit[1] == "")
                {
                    LabMsg.Text = "访问postKey,数值异常";
                    return false;
                }
    
                // 访问-postData
                if (visit[2] == "")
                {
                    LabMsg.Text = "访问postData,数值异常";
                    return false;
                }
    
                // 开始-时
                if (cron[0] > 23 || cron[0] < 0)
                {
                    LabMsg.Text = "每日运行时段,开始小时,数值异常";
                    return false;
                }
    
                // 开始-分
                if (cron[1] > 60 || cron[1] < 0)
                {
                    LabMsg.Text = "每日运行时段,开始分钟,数值异常";
                    return false;
                }
    
                // 开始-秒
                if (cron[2] > 60 || cron[2] < 0)
                {
                    LabMsg.Text = "每日运行时段,开始秒钟,数值异常";
                    return false;
                }
    
                // 结束-时
                if (cron[3] > 23 || cron[3] < 0)
                {
                    LabMsg.Text = "每日运行时段,结束小时,数值异常";
                    return false;
                }
    
                // 结束-分
                if (cron[4] > 60 || cron[4] < 0)
                {
                    LabMsg.Text = "每日运行时段,结束分钟,数值异常";
                    return false;
                }
    
                // 结束-秒
                if (cron[5] > 60 || cron[5] < 0)
                {
                    LabMsg.Text = "每日运行时段,结束秒钟,数值异常";
                    return false;
                }
    
                // 访问频率
                if (cron[6] > 3600 || cron[ 6] < 1)
                {
                    LabMsg.Text = "访问频率,数值异常";
                    return false;
                }
    
                // 自动开始
                if (cron[7] > 1 || cron[7] < 0)
                {
                    LabMsg.Text = "自动运行,数值异常";
                    return false;
                }
    
                return true;
            }
        }
    
        // 自定义异常类
        class SetException : Exception
        {
            public SetException(string message) : base(message)
            {
                MessageBox.Show(message);
            }
        }
    }
    
    // the end @nb;

    php 代码:

    <?php 
    
    // 本脚本所有的输出都会在触发器状态栏上显示,如果输入内容过多可能会导致触发器崩溃
    
    // 基本设置
    ignore_user_abort(true);                          // 忽略客户端断开 
    set_time_limit(0);                                // 设置执行不超时
    date_default_timezone_set('Asia/Shanghai');       // 设置时区
    
    // 定时访问
    if(empty($_POST[POST_KEY]) || $_POST[POST_KEY] != POST_DATA)
    {
        die('error_post');
    }
    
    //访问者id
    $remote_ip = $_SERVER["REMOTE_ADDR"];
    
    //如果是本机访问(ipv4|ipv6)
    if($remote_ip != '127.0.0.1' && $remote_ip != '::1')
    {
        die('error_ip');
    }
    
    // do something
    
    // 输出反馈信息给触发器
    echo $_POST[POST_KEY];
    
    // the end @nb;

     

    转载于:https://www.cnblogs.com/nb08611033/p/11105631.html

    展开全文
  • C# WinForm定时提醒器(有源码)

    热门讨论 2009-06-20 00:46:05
    用C#编写的闹钟程序,定时提醒事情的简单程序,涉及到System.Timers.Timer和System.Windows.Form.Timer的一些应用,多任务同时计时
  • 代码大多来源于网络 IDE:vs2017 项目文件: 链接:https://pan.baidu.com/s/1DBUwVw3Blv2vsIBhEmTq6Q 提取码:qmok 界面: 代码: using System; using System.Net; using System.Windows.Forms; ...
  • C# 定时执行函数(winForm

    千次阅读 2009-02-17 09:43:00
    WinForm自動定時截取螢幕畫面,並存成圖片檔 public partial class screenshots : Form { private static Bitmap bmpScreenshot; private static Graphics gfxScreenshot; public screenshots()...
  • 就是需要有一个小工具,在服务器中不断的执行一些任务,那么这样的需求,我们可以做一个windows服务程序,或者做一个winform wpf等小程序,然后小程序里面开启一个线程,在线程里面不断地执行一些代码那么废话就不多...
  • Winform基于多线程实现每隔1分钟执行一段代码
  • private static void TimerEventProcessor(Object myObject, EventArgs myEventArgs) //这就是要执行的事件...还有更好的自动定时备份数据并且执行效率高的方法吗? 多线程吗,能提供思路吗?在此谢谢各位大神了。。
  • C# winform三种定时方法

    千次阅读 2018-12-24 15:12:00
    1. 直接用winform 的 timers 拖控件进去 代码 public partial class Form1 : Form { public Form1() { InitializeComponent(); } int sum = 0; int qian;...
  • 程序需要实现定时作业的功能经常会遇到,之前我一直使用Sleep,今天我突然觉得C# 应该有简单的定时作业类可以使用吧,于是我百度了一把,果然有一个Quartz,但是使用后发现只能加载静态类代码,其实很不灵活。...
  • C# winform下的定时运行+时间设置窗口

    千次阅读 2018-04-15 23:26:10
    代码的时候主要考虑:1、设置时间点;2、怎么定时运行。之前在写网络拓扑信息统计的时候,写了个设置定时的窗口(SetTimeForm),外观长这样:SetTimeForm的相关tips如下:左边的ListBox显示已设置的时间点(HH:mm...
  • 这样,一次未执行完毕,下一次定时到,这时候程序会如何执行?可能的情况:1、丢弃还未执行代码,开始新的执行;2、不丢弃,Timer消息进入消息队列排队,等到原来的代码执行完毕后,马上开始新的执行;3、重入,...
  • 我们在开发WinForm时,有可能会在初始化程序时启动定时任务(如使用Quartz.Net框架),然后在每次执行定时任务时向主窗体发送消息(如更新主窗体中控件的值),这时候我们就可以使用如下方式来实现。 新建类...
  • 1,由于实际业务需要,需要设置定时执行某种活动。如图。有四个按钮,和四个lable,还有四个timer,他们之间一一对应。但单击每一个按钮时,过两秒钟自动修改对应的label的值。 代码如下:View Code 1...
  • C# Winform 基于Task的异步与延时执行

    万次阅读 2017-02-22 14:38:32
    StartAsyncTask主要是执行一个异步操作,并在异步操作完成后执行指定的委托,这里因为Task的执行机制依然是多线程,由于winform的线程安全性使得非UI线程无法访问UI线程中的UI控件,所以在Task操作结束后执行的委托...
  • C#定时 器 定时执行任务 线程

    千次阅读 2016-08-11 11:07:19
    加菲猫 Just have a little faith. ...C#实现Web应用程序定时启动任务 ... 在业务复杂的应用程序中,有时候会要求一个或者多个任务在一定的时间或者一定的时间间隔内计划进行,比如定时备份
  • 在上篇随笔《Winform开发框架之通用定时服务管理》介绍了我的框架体系中,通用定时服务管理模块的设计以及一些相关功能的展示。我们在做项目的时候,或多或少需要和其他外部系统或者接口进行数据交互,有些是单向的...
  • 但是,有时我们并不知道这段代码执行多长的时间,有时候会超过我们设定的刷新的时间,如 self.timer.start(1000)是1 秒的话,或者是我们不知道代码执行多久。这是我遇到的一个小问题,下面我们开始解决这个问题...
  • 本人c#新手,最近公司要求做的一个程序,需要利用后台定时查询数据绑定到datagridview上,要求程序不能出现假死,给人友好的体验,于是想到利用创建另一个线程用于查询数据然后再把数据显示在datagridview上。...
  • 项目中有个需求,需要在每天凌晨1点执行几个功能,代码怎么些呢? 平时经常用的那些timer,更多的是应用于间隔特定时长执行,而非在具体某个时间点执行。 网上有多种方法,选择了其中一个比较简单的: ...
  • //每5秒执行一次 timer.Enabled = true; #endregion } /// /// 等待客户端的连接,并且创建与之通信用的Socket /// /// <param name="obj"></param> int a = 1; private void StartListen(object obj) {...
  • 使用C#代码实现控制Windows系统关机、重启和注销的方法,使用.NET和C#.NET,我们可以对当前PC执行关机,重启,注销操作, .NET Framework中,有一个命名空间System.Diagnostics具有所需的类和方法,从当前PC上运行...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,512
精华内容 604
关键字:

winform定时执行代码