KeiStory

WPF 프로그램 하단에 시계 표시하기

 

프로그램 화면 하단에 StatusBar 를 이용해 시계를 표시하는 방법입니다.

using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Threading;
 
namespace WpfApp
{
    /// <summary>
    /// MainWindow.xaml에 대한 상호 작용 논리
    /// </summary>
    public partial class MainWindow : Window
    {
        /// <summary>
        /// 시간 상태바 아이템입니다.
        /// </summary>
        StatusBarItem timeStatusBarItem;
 
        public MainWindow()
        {
            InitializeComponent();
 
            DockPanel panel = new DockPanel();
            Content = panel;
 
            // 클라이언트 영역의 아래쪽에 도킹된 상태바를 만든다.
            StatusBar status = new StatusBar();
            panel.Children.Add(status);
            DockPanel.SetDock(status, Dock.Bottom);
 
            // StatusBarItem를 만든다.
            timeStatusBarItem = new StatusBarItem();
            timeStatusBarItem.HorizontalAlignment = HorizontalAlignment.Right;
            status.Items.Add(timeStatusBarItem);
 
            // StatusBarItem을 갱신하기 위한 타이머를 만든다.
            DispatcherTimer timer = new DispatcherTimer();
            timer.Interval = TimeSpan.FromSeconds(1);
            timer.Tick += TimerOnTick;
            timer.Start();
 
            // 화면 중앙에 RichTextBox 를 만든다.
            RichTextBox richTextBox = new RichTextBox();
            panel.Children.Add(richTextBox);
        }
 
        /// <summary>
        /// 타이머 동작 이베트입니다.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        void TimerOnTick(object sender, EventArgs args)
        {
            DateTime dt = DateTime.Now;
            this.timeStatusBarItem.Content = dt.ToLongDateString() + " " + dt.ToLongTimeString();
        }
    }
}

 결과

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band