是否有方法检测像Shift这样的键是否在鼠标事件(如Xamarin.mac应用程序中的MouseDown )上移动?我已经将一些自定义视图加载到StackView中,这些视图都应该是可选择的。选择单个视图是没有问题的,但我想选择多个视图,比如有Shift、Command等的标准选择模式。
谢谢你的帮忙
发布于 2017-03-12 22:25:32
在NSEvent的MouseDown事件中,您可以检查ModifierFlags属性,查看用户按下的任何修饰符键。
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));
}可以检查的修饰符键:
public enum NSEventModifierMask : ulong
{
AlphaShiftKeyMask = 65536uL,
ShiftKeyMask = 131072uL,
ControlKeyMask = 262144uL,
AlternateKeyMask = 524288uL,
CommandKeyMask = 1048576uL,
NumericPadKeyMask = 2097152uL,
HelpKeyMask = 4194304uL,
FunctionKeyMask = 8388608uL,
DeviceIndependentModifierFlagsMask = 4294901760uL
}https://stackoverflow.com/questions/42752732
复制相似问题