2009-06-27 10 views
0

usercontrolでコントロールが選択されたときに、ユーザーコントロールから作成者にプログラムによってマウスクリックを送信したいとします。.netでマウスクリックメッセージを送信する

私が試してみました:

private const int MOUSEEVENTF_LEFTDOWN = 0x02; 
private const int MOUSEEVENTF_LEFTUP = 0x04; 

    [DllImport("user32.dll")] 
    private static extern void mouse_event(
    UInt32 dwFlags, // motion and click options 
    UInt32 dx, // horizontal position or change 
    UInt32 dy, // vertical position or change 
    UInt32 dwData, // wheel movement 
    IntPtr dwExtraInfo // application-defined information 
    ); 

    mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, new System.IntPtr()); 
    mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, new System.IntPtr()); 
をしかし、私は親にイベントが供給における任意の成功を持っていないです。

おそらく、マウスクリックがカスケードする別の方法がありますか?

おかげ

答えて

2

あなたが親フォームのクリックイベントをトリガするControl.InvokeOnClickを使用することができます。
詳細についてはpostをご確認ください。

0
class Parent : Control { 
    private Control child; // some child control 

    ... 

    child_OnClick(object sender, EventArgs e) { //subscribed to child Click event 
    this.OnClick(e); //Fire parent's click event 
    } 
} 
関連する問題