Visual Studio/WPF > 이벤트 > Timer 처리를 사용한 시간 표시 | new TimeSpan(0, 0, 1); | DispatcherTimer | DateTime.Now.ToLongTimeString()

운영 환경
Windows 7 Pro (32bit)
Microsoft Visual Studio 2017 Community
Sublime Text 2

Timer 기능을 사용한 시계 표시를 시도했습니다.

링크



참고 1 : htps : // 여기. msd 응. 미 c 로소 ft. 이 m / 우동 ws에서 sk와 p / 아 MLCVB - WPF - 우원 ws - WPF - 2 아 b6085
참고 2 : WPF – 타이머 스레드에서 Window의 컨트롤을 조작 @ astel-labs.net
참고 3 : htps : // msd 응. 미 c 로소 ft. 이 m / 쟈 jp / ぃ b 등 ry / 우동 ws / 아 ps / 우동 ws. 음. ㎁ ml.ぢ s 빠 t ぇ r chime r

code



MainWindow.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Threading; // added for Timer

namespace _170501_t0702_timer
{

    /// <summary>
    /// MainWindow.xaml の相互作用ロジック
    /// </summary>
    public partial class MainWindow : Window
    {
        DispatcherTimer myTimer;

        public MainWindow()
        {
            InitializeComponent();

            myTimer = new DispatcherTimer(DispatcherPriority.Normal);
            myTimer.Interval = new TimeSpan(0, 0, 1);

            // イベント 'DispatcherTimer.Tick'は+=または-=の左側にのみ使用できます
            //myTimer.Tick = new EventHandler(myTimer_Tick);
            //
            myTimer.Tick += myTimer_Tick;

            myTimer.Start();
        }

        void myTimer_Tick(object sender, EventArgs e)
        {
            T_timer.Text = DateTime.Now.ToLongTimeString();
        }
    }
}

MainWindow.xaml
<Window x:Class="_170501_t0702_timer.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:_170501_t0702_timer"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <TextBlock Name="T_timer" FontSize="32" Text="00:00:00" />        
    </Grid>
</Window>



흠집


myTimer.Tick = new EventHandler(myTimer_Tick);

위에서 다음 오류가 발생했습니다.

'DispatcherTimer.Tick' 이벤트는 += 또는 -= 왼쪽에만 사용할 수 있습니다.

따라서 다음과 같이 변경했다.
myTimer.Tick += myTimer_Tick;

좋은 웹페이지 즐겨찾기