DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

DOBON.NET

Buttonのクリックイベントを発生させる

PerformClickメソッドを呼び出す方法

Buttonコントロールのクリックイベントを発生させ、ユーザーによるクリック操作をシミュレートするには、Button.PerformClickメソッドを呼び出します。PerformClickメソッドはMenuItem、RadioButtonコントロールにもありますので、これらでも同様に使用できます。

ただし、コントロールのCanSelectプロパティがfalseの時は、PerformClickメソッドは何もしません。例えば、コントロールのVisibleプロパティがfalseの時、CanSelectプロパティはfalseとなります。

[VB.NET]
'Button1のClickイベントを発生させる
Button1.PerformClick()
[C#]
//Button1のClickイベントを発生させる
Button1.PerformClick();

OnClickメソッドを呼び出す方法

CanSelectプロパティがfalseでもClickイベントを発生させるには、コントロールのOnClickメソッドを呼び出します。OnClickメソッドはプロテクトメソッドですので、外部クラスからは呼び出すことができません。よって、例えば以下のようにButtonクラスの派生クラスを作成し、使用することにより、OnClickメソッドを呼び出せるようにします。

[VB.NET]
Public Class MyButton
    Inherits Button

    'Clickイベントを発生させる
    Public Sub DoClick()
        Me.OnClick(New EventArgs)
    End Sub
End Class
[C#]
public class MyButton : Button
{
    //Clickイベントを発生させる
    public void DoClick()
    {
        this.OnClick(new EventArgs());
    }
}

注意:ButtonのClickイベントハンドラを呼び出す目的だけでこれらの方法を使用すべきではありません。そのようなケースでは、Clickイベントハンドラの内容をメソッドとして独立させ、そのメソッドを呼び出すようにしてください。

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • イベントハンドラの意味が分からない、C#のコードをそのまま書いても動かないという方は、こちらをご覧ください。