2009-06-27 80 views
0

我想以编程方式在usercontrol中选择一个控件时,从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()); 

但我没有在父recieving事件的任何成功。

也许还有另一种鼠标点击的方式吗?

感谢

回答

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 
    } 
}