我写了一个类,想实现的是10分钟自动刷新一次WebBrowser,但不知道怎么将WebBrowser传递对象给w,使ter_Tick事件执行时候能调用对应的WebBrowser作刷新,请大家指导一下,谢谢。public class web_Refresh
    {
        private Timer ter=new Timer();
        private DateTime time;
        private WebBrowser w;
        public void Timer_Start(WebBrowser web)
        {
            w = web;//这里不知道怎么写
            ter.Interval = 10 * 60 * 1000;
            ter.Start();
            time = DateTime.Now;
        }
        public void Timer_Stop()
        {
            ter.Stop();
        }
        private boolean ter_Tick(object sender, EventArgs e)
        {
            TimeSpan x=DateTime.Now-time;
            if (x.TotalMinutes >= 10)
            {
                w.Refresh();
                time = DateTime.Now;
            }
        }
    }

解决方案 »

  1.   

    w = web;//这里不知道怎么写
    就是这样写啊。有什么问题?
      

  2.   

         在 w = web;//这里不知道怎么写            ter.Interval = 10 * 60 * 1000;   之间加上webbrowser.refresh
      

  3.   

    发现问题了,我把ter.Interval调到1秒,然后执行了ter.Start()后,实例ter的事件_Tick一直没有执行,是不是要写个事件委托和声明?创建timer实例ter,不是应该会包含了事件的吗?还需要另外写事件委托和声明吗?还是我没有正确调用_Tick事件?
      

  4.   

    在ter_Tick.Start()前,注册处理函数:
    ter_Tick.Tick += new EventHandler(ter_Tick);
      

  5.   


    终于写好了,谢谢。
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
          public web_Refresh WEB = new web_Refresh();
        }
         public Form1()
        {
          InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
          webBrowser4.Navigate("www.csdn.net");
          WEB.ter.Tick += new EventHandler(WEB.ter_Tick);
          WEB.Timer_Start(webBrowser4);
        }
        public class web_Refresh
        {
            public Timer ter=new Timer();
            public DateTime Refreshtime;
            private WebBrowser w;
            public void Timer_Start(WebBrowser web)
            {
                w = web;
                ter.Interval =60000;
                ter.Start();
                Refreshtime = DateTime.Now;
            }
            public void Timer_Stop()
            {
                ter.Stop();
            }
            public void ter_Tick(Object sender, EventArgs e)
            {
                w.Refresh();
                Refreshtime = DateTime.Now;
            }
        }