在Windows 8应用程序中为DispatcherTimer的Tick事件定义事件处理程序

Bab*_*loo 7 windows-8

我正在Windows 8 Visual Studio 11中开发一个应用程序,我想为DispatcherTimer实例定义一个事件处理程序,如下所示:

public sealed partial class BlankPage : Page
    {

        int timecounter = 10;
        DispatcherTimer timer = new DispatcherTimer();
        public BlankPage()
        {
            this.InitializeComponent();
            timer.Tick += new EventHandler(HandleTick);
        }

        private void HandleTick(object s,EventArgs e)
        {

            timecounter--;
            if (timecounter ==0)
            {
                //disable all buttons here
            }
        }
        .....
}
Run Code Online (Sandbox Code Playgroud)

但是我得到以下错误:

Cannot implicitly convert type 'System.EventHandler' to 'System.EventHandler<object>'
Run Code Online (Sandbox Code Playgroud)

我是widows 8应用程序的新手开发者.

你能帮帮我吗?

dan*_*ich 8

几乎拥有它:)你不需要实例化一个新的eventhandler对象,你只需要指向处理事件的方法.因此,一个事件处理程序.

        int timecounter = 10;
    DispatcherTimer timer = new DispatcherTimer();
    public BlankPage()
    {
        this.InitializeComponent();

        timer.Tick += timer_Tick;
    }

    protected void timer_Tick(object sender, object e)
    {
        timecounter--;
        if (timecounter == 0)
        {
            //disable all buttons here
        }
    }
Run Code Online (Sandbox Code Playgroud)

尝试阅读代理以了解事件了解C#中的事件和事件处理程序