定时器每隔一秒触发button。我写的代码如下,有点问题:
public info()
{ InitializeComponent();
System.Timers.Timer t = new System.Timers.Timer(Convert.ToDouble(10000));
t.Elapsed += new System.Timers.ElapsedEventHandler(button1_Click);
t.AutoReset = true ;
t.Enabled = true;
}
public info()
{ InitializeComponent();
System.Timers.Timer t = new System.Timers.Timer(Convert.ToDouble(10000));
t.Elapsed += new System.Timers.ElapsedEventHandler(button1_Click);
t.AutoReset = true ;
t.Enabled = true;
}
解决方案 »
- asp.NET中怎样做登录控件
- datagridview更新后台数据库表时,是所有记录全更新呀,还是只更新修改过的?
- 获取服务器数据库日期并返回
- dataGrid中有若干行数据,有一个MouseUp事件可以得到点的行数,如果换了分辨率,即使双击标题栏使窗口最大化也可以触发MouseUp事件,请问怎么
- 菜鸟。如何将一个textbox中输入的多个数据插入数据库
- 关于删除文件的问题
- 解决了。马上接贴!超级简单!
- C# 基础寻前辈指导
- 下拉菜单中加图形
- panel若添加透明背景图,panel上的控件刚显示时太卡
- 关于C#判断时间范围的问题
- 如何用VS2010制作一张表格,同时能实现添加,删除,修改这些功能的?
System.Timers.Timer t = new System.Timers.Timer(Convert.ToDouble(1000));
public info()
{ InitializeComponent();
System.Timers.Timer t = new System.Timers.Timer(Convert.ToDouble(1000));
t.Elapsed += new System.Timers.ElapsedEventHandler(button1_Click);
t.AutoReset = true ;
t.Enabled = true;
}
2.一秒内数据库被操作好几次,数据库操作放在Button事件中,如果插入这段代码没有问题的话,也是应该没有问题的。请检查,插入数据库那段代码,是不是有循环代码等因素导致的多次插入。
直接把Button事件里面的代码放到定时器的事件里面就可以了 何必要在中间加一个Button列。。
public void Onbutton1_Click(object sender, EventArgs e){
if(dtbutton1 >DateTime.Now.AddSeconds(-30))
return;
...
}
这样如果还不会,不有办法了
{
string strInsert1 = "insert into sc_duanxin( haoma,neirong ) values( '" + node["Desttermid"].FirstChild.Value + "','" + node["Content"].FirstChild.Value + "' )";
SqlCommand SCSelectAll1 = new SqlCommand(strInsert1, SCcon);
SCSelectAll1.ExecuteNonQuery();
}
}
LZ 有解决吗,可以发我一份么, 邮箱[email protected],谢谢
1. timer触发多次
2. 一次调用button插入多条数据,
check一下,问题就解决了
一分钟是对的 1秒钟不对 说明你的Button点击事件在1秒钟之内不能完成
然后因为这一秒钟的操作还没有完成 下一秒又开始了 所以数据库中的数据不对
{ InitializeComponent();
System.Timers.Timer t = new System.Timers.Timer(Convert.ToDouble(1000));
t.Elapsed += new System.Timers.ElapsedEventHandler(button1_Click);
t.SynchronizingObject = button1;//加这句就好了
t.AutoReset = true ;
t.Enabled = true;
}