2017-03-12 1 views
1

Gibt es eine Möglichkeit, wenn ein Schlüssel wie Shift- auf jedem Mausereignis zu erkennen, wie MouseDown- in einer Xamarin.mac Anwendung? Ich habe einige benutzerdefinierte Ansichten in einem StackView geladen, die alle auswählbar sein sollten. eine einzige Ansicht Auswahl ist kein Problem, aber ich mehrere Ansichten wie die Standard-Auswahlmuster mit Shift, Befehl usw.MouseDown- mit KeyPressed

Danke für Ihre Hilfe

Antwort

2

Im NSEvent Ihren MouseDown Fall, dass Sie überprüfen die wählenden ModifierFlags Eigenschaft für alle Modifikator Tasten vom Benutzer gedrückt werden.

public override void MouseDown(NSEvent theEvent) 
    { 
     base.MouseDown(theEvent); 
     // Report true if the user is holding the CMD down while performing a mouse down 
     Console.WriteLine(theEvent.ModifierFlags.HasFlag(NSEventModifierMask.CommandKeyMask)); 
    } 

Die Zusatztasten, die Sie überprüfen können:

public enum NSEventModifierMask : ulong 
{ 
    AlphaShiftKeyMask = 65536uL, 
    ShiftKeyMask = 131072uL, 
    ControlKeyMask = 262144uL, 
    AlternateKeyMask = 524288uL, 
    CommandKeyMask = 1048576uL, 
    NumericPadKeyMask = 2097152uL, 
    HelpKeyMask = 4194304uL, 
    FunctionKeyMask = 8388608uL, 
    DeviceIndependentModifierFlagsMask = 4294901760uL 
} 
+0

Das ist genau das, was ich suchte, danke sehr viel !! –

+0

@DanielDirtyNativeMartin Froh, dass es geholfen hat ... – SushiHangover

Verwandte Themen