none
マウスイベントの発生 RRS feed

  • 質問

  • ある指定した座標でプログラムでマウスクリックイベントを発生させるにはどのような手法でできるでしょうか?

    // 座標の指定

    System.Drawing.Point PointP = new System.Drawing.Point(100, 100);
      System.Windows.Forms.Cursor.Position = PointP;

    // クリックイベント

    2007年7月1日 12:47

回答

  • その対象となるコントロールから OnClick メソッドを呼び出せば、Click イベントは発生します。
    それ以外の方法となると、Mouse 関連の API を使うことになると思います。(たとえば SendInput 関数)
    2007年7月1日 12:53
  • 外部からマウスクリックイベントを発生させるには

    Button.PerformClick メソッド というものがありますが、これは

    EventArgsが空なので、おそらくご要望の動作はしないと思います。

     

    やりたいのはこういうことですかね?

    ---

    MouseEventArgs ex = new MouseEventArgs(MouseButtons.Left,1,100,100,0);

     button1_Click(this, ex);

    ---

     

     

    2007年7月1日 14:05
  • じゃんぬねっと様、ふじさき様回答ありがとうございます。
    他のフォームにではなく、単にマウスクリックイベントを発生させる手法が知りたかったのです。
    SendInput関数をチャレンジしてみます。

    2007年7月1日 16:24

すべての返信

  • その対象となるコントロールから OnClick メソッドを呼び出せば、Click イベントは発生します。
    それ以外の方法となると、Mouse 関連の API を使うことになると思います。(たとえば SendInput 関数)
    2007年7月1日 12:53
  • 外部からマウスクリックイベントを発生させるには

    Button.PerformClick メソッド というものがありますが、これは

    EventArgsが空なので、おそらくご要望の動作はしないと思います。

     

    やりたいのはこういうことですかね?

    ---

    MouseEventArgs ex = new MouseEventArgs(MouseButtons.Left,1,100,100,0);

     button1_Click(this, ex);

    ---

     

     

    2007年7月1日 14:05
  • じゃんぬねっと様、ふじさき様回答ありがとうございます。
    他のフォームにではなく、単にマウスクリックイベントを発生させる手法が知りたかったのです。
    SendInput関数をチャレンジしてみます。

    2007年7月1日 16:24