110,534
社区成员
发帖
与我相关
我的任务
分享
private System.Windows.Forms.Timer time1 = new System.Windows.Forms.Timer();
public Form1()
{
InitializeComponent();
//do something
//计算到下一个整点还有多少时间
time1.Interval = 60 * 60 * 1000 - DateTime.Now.Minute * 60000 - DateTime.Now.Second * 1000 - DateTime.Now.Millisecond;
time1.Tick += new EventHandler(DoSomething);
time1.Start();
}
private void DoSomething(Object myObject, EventArgs myEventArgs)
{
//你想做的事
time1.Interval = 60000;
}
bool isFirst = true;
public FormMain()
{
InitializeComponent();
Timer1.Start();
Timer1.Interval = 60000;
do();
}
private void Timer1_Tick(object sender, EventArgs e)
{
do();
}
private void do()
{
bool canDo = false;
if(isFirst)
{
canDo = true;
isFirst = false;
}
else
{
Datetime cDate = Datetime.Now;
if(cDate.Minutes == 0)
{
canDo = true;
}
}
if(!canDo) return;
//do something
}
public FormMain()
{
InitializeComponent();
Timer1.Interval = 3600000;
Timer1.Start();
}
private void Timer1_Tick(object sender, EventArgs e)
{
if( (long)DateTime.Now.TimeOfDay.TotalSeconds % 3600 == 0)
{
//do some
}
}