0

以下のコードはWindowsPhone7で機能します

    private void ShowTime()
    {
        txtTime.Text = get24hour();

        //display the Date and week.
        DateTime nowtime = DateTime.Now;
        txtWeek.Text = nowtime.DayOfWeek.ToString();
        txtDate.Text = nowtime.Date.ToString("MM/dd");   

        //create timer to fresh to time
        DispatcherTimer timer = new DispatcherTimer();
        timer.Interval = TimeSpan.FromMinutes(1);
        timer.Tick += timer_Ticker;
        timer.Start();        
    }

    private void timer_Ticker(object sender, EventArgs e)
    {
        txtTime.Text = get24hour();
    }

    private string get24hour()
    {
        return DateTime.Now.ToString("HH:mm");
    }

しかし、WinRT(メトロ)でエラーが発生しました

エラー部分:

  timer.Tick += timer_Ticker;

エラーメッセージ:

  No overload for 'timer_Ticker' matches delegate 'System.EventHandler<object>' 


コードを次のように変更しようとしています

    private void timer_Ticker()
    {
        txtTime.Text = get24hour();
    }

結果
ですが、それは再び機能しません、なぜそしてどのようにそれを解決するのですか?:(

4

2 に答える 2

2
timer.Tick += new EventHandler<object>(timer_Tick); 

private void timer_Tick(object sender, object e)
{
}

このリンクを参照してください

于 2012-06-20T08:02:14.707 に答える
0

msdnを読み、デリゲートメソッドを以下に変更すると機能します。

    private void timer_Ticker(object sender, object e)
    {
        txtTime.Text = get24hour();
    }
于 2012-06-17T15:31:23.670 に答える