welcome to Qijie's Blog 薛其杰
在timer.elapsed里边调用button.click事件
悬赏分:5 - 解决时间:2010-8-10 11:19
我想要实现的是每隔30秒钟, 就自动触发一次button的click事件, 不过貌似是不行的, 说button不是这个线程创建的, 那怎样可以实现这个功能嫩? 
提问者: 7788wangzi - 二级
最佳答案
System.Timers.Timer time = new System.Timers.Timer();
public Form1()
        {
            InitializeComponent();
            time.Elapsed    += new System.Timers.ElapsedEventHandler(this.button2_Click);
            time.Interval = 30000;
            time.Start();
        }
这个是没问题的
如果出现不同线程创建,请使用委托 
 delegate void MoniClick(object sender,EventArgs e);
  public Form1()
        {
            InitializeComponent();

            time.Elapsed += new System.Timers.ElapsedEventHandler(set);
            time.Interval = 5000;
            time.Start();
        }
  private void set(object sender, EventArgs e)
        {
            MoniClick d = new MoniClick(button2_Click);           
            Invoke(d,new object[]{sender,e});
        } 
posted on 2010-08-10 12:10  零点零一  阅读(530)  评论(0)    收藏  举报