コード例 #1
0
        public void OnKeyControl(object sender, KeysEventArgs e)
        {
            // modify value based on key pressed
            if (e.ContainsKey(keyUp))
            {
                position += up * Speed;
            }
            if (e.ContainsKey(keyDown))
            {
                position -= up * Speed;
            }
            if (e.ContainsKey(keyForward))
            {
                position += front * Speed;
            }
            if (e.ContainsKey(keyBackward))
            {
                position -= front * Speed;
            }
            if (e.ContainsKey(keyRight))
            {
                position += right * Speed;
            }
            if (e.ContainsKey(keyLeft))
            {
                position -= right * Speed;
            }

            // update vectors once the camera moves
            Update();
        }
コード例 #2
0
        public void Attach(DependencyObject AssociatedObject)
        {
            this.AssociatedObject = AssociatedObject;

            _keysEventArgs = new KeysEventArgs();

            var uiElement = this.AssociatedObject as ExtendedTextBox;

            uiElement.PreKeyDown += UIElement_KeyDown;
            _keyupEventHandler    = UIElement_KeyUp;
            uiElement.AddHandler(UIElement.KeyUpEvent, _keyupEventHandler, true);
            uiElement.IsEnabledChanged += UIElement_IsEnabledChanged;
        }
コード例 #3
0
        private void OnHotKeys(object sender, KeysEventArgs e)
        {
            var hotKeys = "";

            if (e.Ctrl)
            {
                hotKeys += "Ctrl";
            }
            if (e.Shift)
            {
                hotKeys += "Shift";
            }
            if (e.Alt)
            {
                hotKeys += "Alt";
            }

            hotKeys = e.Keys.Aggregate(hotKeys, (current, key) => current + ("+" + key));
            Debug.Print((e.IsDown ? "down: " : e.IsUp ? "up: " : "") + hotKeys);

            switch (hotKeys)
            {
            case "Ctrl+S":     // save file
                SaveFile();
                break;

            case "Ctrl+O":     // open file
                OpenFiles();
                break;

            case "Ctrl+Alt+S":     // save file as
                SaveFile(true);
                break;

            case "Alt+A+Z":
                var callNext = _keyboardHook.IsCallNextHookIfHotKey;
                _keyboardHook.IsCallNextHookIfHotKey = !callNext;

                callNext = _keyboardHook.IsCallNextHook;
                _keyboardHook.IsCallNextHook = !callNext;
                break;

            case "Ctrl+Alt+Delete":
                break;
            }
        }
コード例 #4
0
        void NPCTalkUI_KeyClicked(object sender, KeysEventArgs e)
        {
            foreach (Keys key in e.Keys)
                Console.WriteLine(key);

            if(e.Keys.Contains(Keys.Space))
            {
                // next page or close.
                pages--;
                if (pages == 0)
                    eventsCompleted = true;
            }
        }