RunTimeingClose(,,"我要过去")改成RunTimeingClose

解决方案 »

  1.   

    不对,Timer.Elapsed事件只有两个参数,你不能自己多定义一个参数
    如果要吧s_name传递到RunTimeingClose()中,可以把s_name定义成私有成员,在方法外面定义private string s_name
    代码如下:private string s_name;void YourMethod()

    s_name = "我要过去";
    System.Timers.Timer   RunTime   =   new   System.Timers.Timer(1000); 
    RunTime.Elapsed   +=   new   System.Timers.ElapsedEventHandler(RunTimeingClose); 
    RunTime.Enabled   =   true; 
    RunTime.AutoReset   =   false; 

    void   RunTimeingClose(object   sender,   System.Timers.ElapsedEventArgs   e) 
    {                         
          //这里把s_name参数给传过来? 
          MessageBox.Show(s_name); 
    }
      

  2.   

    需要继承 timer类public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                meth();
            }
            public  myTimer mytimer = new myTimer();
            public void meth()
            {
                mytimer.Interval = 5000;
                mytimer.str = "weeeeee";
                mytimer.AutoReset = true;
                mytimer.Enabled = true;
                mytimer.Elapsed +=new System.Timers.ElapsedEventHandler(mytimer_Elapsed);
            }
            public void mytimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
            {
                myTimer newtimer = (myTimer)sender;
                MessageBox.Show("timer:"+newtimer.str);
            }
        }    public class myTimer : System.Timers.Timer
        {
            public string str = String.Empty;        public myTimer()
                : base()
            { }
        }