Пример #1
0
        /// <summary>
        /// Test for modifier keys
        /// </summary>
        /// <returns></returns>
        private bool IsModifierKeyDown()
        {
            if (this.Modifiers == ModifierKeys.None)
            {
                return(true);
            }

            bool good = true;

            if ((this.Modifiers & ModifierKeys.Windows) == ModifierKeys.Windows)
            {
                if (_targetElement.GetKeyState(VirtualKey.LeftWindows) != CoreVirtualKeyStates.Down &&
                    _targetElement.GetKeyState(VirtualKey.RightWindows) != CoreVirtualKeyStates.Down)
                {
                    good = false;
                }
            }

            if ((this.Modifiers & ModifierKeys.Shift) == ModifierKeys.Shift)
            {
                if (_targetElement.GetKeyState(VirtualKey.LeftShift) != CoreVirtualKeyStates.Down &&
                    _targetElement.GetKeyState(VirtualKey.RightShift) != CoreVirtualKeyStates.Down)
                {
                    good = false;
                }
            }

            if ((this.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
            {
                if (_targetElement.GetKeyState(VirtualKey.Control) != CoreVirtualKeyStates.Down)
                {
                    good = false;
                }
            }

            if ((this.Modifiers & ModifierKeys.Menu) == ModifierKeys.Menu)
            {
                if (_targetElement.GetKeyState(VirtualKey.Menu) != CoreVirtualKeyStates.Down)
                {
                    good = false;
                }
            }

            return(good);
        }