2009-06-27 6 views
0

Ich möchte programmgesteuert einen Mausklick von einem usercontrol an den Ersteller senden, wenn ein Steuerelement in der Benutzersteuerung ausgewählt ist.send mouseclick message in .net

Ich habe versucht:

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()); 

Aber ich habe keinen Erfolg der Veranstaltung bei der Mutter in recieving.

vielleicht gibt es eine andere Möglichkeit, einen Mausklick herunterzufallen?

Dank

Antwort

2

können Sie Control.InvokeOnClick verwenden Sie das Click-Ereignis für die übergeordnete Formular auszulösen.
Sehen Sie sich diese Stackoverflow aus post für Details

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