.Net Framework C# Windows Forms

コードビハインドから TextBox.TextChanged イベントを呼び出す

2013年12月7日

コードビハインドから動的にイベントを呼び出す方法です。

通常、イベントは何らかの操作に対応するかたちで呼び出されるものですが、プログラムからイベントそのものを呼び出すことも可能です。

button1_Click イベント内で textBox1_TextChanged イベントに引数を渡すことで呼び出すことができます。呼び出し方法はメソッドと一緒ですね。第一引数にイベントの所有コントロール(TextBox1)を、第二引数に EventArgs インスタンスを割り当てます。

private void button1_Click(object sender, EventArgs e)
{
    // 動的に TextChanged イベントを呼び出す
    this.textBox1_TextChanged(this.textBox1, new EventArgs());
}

private void textBox1_TextChanged(object sender, EventArgs e)
{
    // 処理
}

もちろん、textBox1 の Text プロパティを変更することでもイベントは発生します。

private void button2_Click(object sender, EventArgs e)
{
    this.textBox1.Text = "new text";
}

-.Net Framework, C#, Windows Forms