定时器每隔一秒触发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;
        }
            

解决方案 »

  1.   

    不好意思多打了一个零:
    System.Timers.Timer t = new System.Timers.Timer(Convert.ToDouble(1000));
      

  2.   

    定时器每隔一秒触发button。我写的代码如下,有点问题:
     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;
      }
      

  3.   

    本来一个button事件每秒只往数据库里面写入一条数据,但是用了定时器促发button后每一秒钟写了好几条数据进去。
      

  4.   

    这种提问方式挺烦人的,不管你出现什么问题(比如编译根本过不去),你都应该认真说明问题本身。上csdn不是为了逗闷子、给那些热心的人下套的。
      

  5.   

    不会吧,那你限制一下在button中作一个记时如果上次和这次不有30秒钟的就不给触发
      

  6.   

    1.定时器一秒动作一次是没有问题。
    2.一秒内数据库被操作好几次,数据库操作放在Button事件中,如果插入这段代码没有问题的话,也是应该没有问题的。请检查,插入数据库那段代码,是不是有循环代码等因素导致的多次插入。
      

  7.   

    没有必要定时器每隔一秒触发Button
    直接把Button事件里面的代码放到定时器的事件里面就可以了 何必要在中间加一个Button列。。
      

  8.   

    static DateTime dtbutton1 =DateTime.MinValue;
    public void Onbutton1_Click(object sender, EventArgs e){
     if(dtbutton1 >DateTime.Now.AddSeconds(-30))
        return;
       ...
    }
    这样如果还不会,不有办法了
      

  9.   

    恩  是有一个 foreach的循环,那怎么去解决啊: foreach (System.Xml.XmlNode node in doc.GetElementsByTagName("DeliverMessage"))
                {
                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();
                        }
                                 }
      

  10.   

    就拖一个timer控件  然后去写timer_tick事件 不是很简单么 干吗非要自己定义一个
      

  11.   

    csdsuper  大兄弟,用你的方法,数据库里面还是写入了好多的数据啊
      

  12.   


    LZ 有解决吗,可以发我一份么, 邮箱[email protected],谢谢
      

  13.   

    timer 控件的延时不对
      

  14.   

    既然是时间触发的,为什么还要加个按钮上去呢?直接把数据库操作的代码加到tick里面不就行了么?
      

  15.   

    既然是时间触发的,为什么还要加个按钮上去呢?直接把数据库操作的代码加到tick里面不就行了么?
      

  16.   

    调试中看 你插入数据的方法执行了几次 就知道在数据库加了多少条? 也许是sql语句和存储过程的条件不对  这样造成的!!
      

  17.   

     出现插入多条数据的可能有二,
    1. timer触发多次
    2. 一次调用button插入多条数据,
    check一下,问题就解决了
      

  18.   


    一分钟是对的 1秒钟不对 说明你的Button点击事件在1秒钟之内不能完成
    然后因为这一秒钟的操作还没有完成 下一秒又开始了 所以数据库中的数据不对
      

  19.   

    public info()
      {  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;
      }
      

  20.   

    你这个是每个一秒注册一个button的事件 啊!但是不会触发 啊!你直接调用事件button1_Click不就行了,弄得这么麻烦!
      

  21.   

    你把BUTTON里面的事件写到timer的ticker事件里面不就行了 还要这般折磨人
      

  22.   

    支持楼上,加那个button实在是画蛇添足