日期:2014-05-17  浏览次数:20776 次

。。多个 click +=连接起来的事件链。。。用timer调用第一个后,他不会调用剩下的,咋办?
button1.click += 事件1
button1.click += 事件2

如果是点击界面上的button,他会继续往下走。。

但是我现在想做成自动的,用timer去自动点击。。

结果就发现调用button1_click(sender,e)后,事件1和事件2都不会被调用。。

有点郁闷额。。

------解决方案--------------------
引用:
但是我现在想做成自动的,用timer去自动点击。。
什么意思呢?

你自己发明的这个“自动点击”还是贴出代码来吧。
------解决方案--------------------
你的意思是?? 
自己点击 触发事件
第一次点击
第二次点击 
第三次点击?
还是 说。。。点击一次  
自动触发多次点击???




------解决方案--------------------

貌似 你点击按钮的时候 会把你按钮绑定的事件都挨个的执行
可是 你自动调用的却只调用了一个而已
------解决方案--------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using System.ComponentModel;

namespace ConsoleApplication1
{
    class Button
    {
        private event EventHandler click;
        public event EventHandler Click
        {
            add { click += value; }
            remove { click -= value; }
        }

        public void foo() { click(this, new EventArgs()); }
    }
    class Program
    {        
        static void Main(string[] args)
        {
            Button btn = new Button();
            btn.Click += new EventHandler(btn1_Click1);
            btn.Click += new EventHandler(btn1_Click1);
            btn.Click += new EventHandler(btn1_Click2);
            btn.Click += new EventHandler(btn1_Click3);
            Console.WriteLine("raise event by itself:");
            btn.foo();
            Console.WriteLine("raise event manually:");
            EventHandler eh = btn.GetType().GetField("click", BindingFlags.Instance 
------解决方案--------------------
 BindingFlags.NonPublic).GetValue(btn) as EventHan