本文实例讲述了WinForm实现程序一段时间不运行自动关闭的方法。分享给大家供大家参考。具体实现方法如下:
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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Net; using System.IO; using System.Security.Cryptography.X509Certificates; using System.Net.Security; namespace DemoDataGridView { public partial class Form3 : Form, IMessageFilter { private int m_WaitMinute = 0; System.Windows.Forms.Timer MyTimer; public Form3() { InitializeComponent(); MyTimer = new Timer(); MyTimer.Interval = 1000; MyTimer.Tick += new EventHandler(MyTimer_Tick); Application.Idle += new EventHandler(Application_Idle); } void MyTimer_Tick( object sender, EventArgs e) { if (m_WaitMinute < 60) { MyTimer.Enabled = true ; MyTimer.Interval = 10000; //10秒 m_WaitMinute += 1; // this.Opacity = 1.0 - Convert.ToDouble(m_WaitMinute / 60.0); } else { MyTimer.Enabled = false ; } } void Application_Idle( object sender, EventArgs e) { if (m_WaitMinute == 0) { System.IO.File.WriteAllText( "D:\\1.txt" , DateTime.Now.ToString()); MyTimer.Start(); } else { if (m_WaitMinute >= 6) { System.IO.File.WriteAllText( "D:\\2.txt" , DateTime.Now.ToString()); this .Close(); } } } public bool PreFilterMessage( ref Message m) { if (m_WaitMinute != 0) { m_WaitMinute = 0; MyTimer.Enabled = false ; return true ; } return false ; } } } |
希望本文所述对大家的C#程序设计有所帮助。