動くコード図鑑技術記事現場の渡り方キャリア論すべての記事About
C#

System.Windows.Forms.Timer — UIスレッド発火の本命

出典: WinForms Timer 3兄弟の使い分け — System.Windows.Forms.Timer / System.Threading.Timer / System.Timers.TimerSystem.Windows.Forms.Timer — UIスレッド発火の本命

System.Windows.Forms.Timer — UIスレッド発火の本命 (csharp)#c9ab3217e3d2
// ✅パターン1: System.Windows.Forms.Timer(UI更新の本命)
using System.Windows.Forms;
 
public partial class MainForm : Form
{
    private Timer _uiTimer;
 
    public MainForm()
    {
        InitializeComponent();
 
        _uiTimer = new Timer
        {
            Interval = 1000,   // 1秒ごと
        };
        _uiTimer.Tick += UiTimer_Tick;
        _uiTimer.Start();
    }
 
    private void UiTimer_Tick(object sender, EventArgs e)
    {
        //ここはUIスレッド上で発火する→コントロールを直接触れる
        labelClock.Text = DateTime.Now.ToString("HH:mm:ss");
        dataGridView1.Refresh();
    }
 
    private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
    {
        _uiTimer.Stop();
        _uiTimer.Dispose();   //終了時に解放
    }
}
▸ この snippet は実行結果未収録
▸ 実行結果は未収録です
  • id: #c9ab3217e3d2
  • lines: 32
  • extracted: 2026-06-10

Source収録記事

この snippet は記事の「System.Windows.Forms.Timer — UIスレッド発火の本命」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。

同じ記事から

4
図鑑トップ