动态视频播放器不会释放焦点

时间:2014-08-28 15:52:07

标签: c# focus dynamic-controls

大家我知道默认标签和图片框无法有焦点,我在表格上设计方法按键向下移动这些控件关于箭头按钮

当我制作动态视频播放器控件时,我无法再移动这些控件,也不会再显示该表单获得焦点

我已经尝试过这个。制作视频播放器之后的重点,是否有任何人可以想到的可能会继续关注永久性的形式

如果示例代码是需要我将复制,但代码本身看起来很好视频播放器只是保持焦点

Form 1 Keydown

        if (SenderS == "Label")
        {
            // Label b = sender as Label;
            Label b = (Label)Controls[ControlID];
            int x = b.Location.X;
            int y = b.Location.Y;

            if (e.KeyCode == Keys.Right) x += 1;
            else if (e.KeyCode == Keys.Left) x -= 1;
            else if (e.KeyCode == Keys.Up) y -= 1;
            else if (e.KeyCode == Keys.Down) y += 1;

            b.Location = new Point(x, y);
        }

将鼠标标记下来

        SenderS = "Label";
        Label b=sender as Label;

        ControlID = b.Name;

此代码工作正常,但当视频添加到表单时,我无法再使用它 我假设因为表单不再接受keydown事件

1 个答案:

答案 0 :(得分:0)

作为一般用途,您首先需要覆盖IsInputKey方法:

        private void YourControl_KeyDown(object sender, KeyEventArgs e)
        {
            //your logic here
        }

        protected override bool IsInputKey(System.Windows.Forms.Keys keyData)
        {
            switch (keyData)
            {
                case Keys.Right:
                case Keys.Left:
                case Keys.Up:
                case Keys.Down:
                    return true;
            }
            return base.IsInputKey(keyData);
        }

或覆盖ProcessCmdKey方法。