なんだかGoodVibes

日々の勉強メモです。

【C#】ボタンのクリックイベントを生成する

今回はWindows Formsにてほかのボタンの
クリックイベントを生成する方法をメモ。


概要

配置するのは以下。

  • テキストボックス
  • ボタン2個

button1をクリックするとテキストボックスに時刻を表示します。
button2をクリックすると、1秒間隔で10回button1のクリックイベントを生成します。


サンプルソース

using System;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Sample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        
        private void button1_Click(object sender, EventArgs e)
        {
            // テキストボックスに現在の時刻を出力
            this.textBox1.Text = DateTime.Now.ToString();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            // 1秒間隔で10回button1のクリックイベントを生成
            Task.Run(() =>
            {
                for (int i = 0; i < 10; i++)
                {
                    this.button1.PerformClick();
                    Thread.Sleep(TimeSpan.FromMilliseconds(1000));
                }
            });
        }
    }
}


まとめ

動作確認など、確実に試験したいときにもってこいです。
人がやるとどうしてもミスしてしまったりしますからね。
以上です。