DateTimePicker子字段选择

时间:2013-06-11 16:44:15

标签: c# visual-studio datetimepicker

所以我的任务是创建一个自定义数据可绑定的可空的DateTimePicker。我的工作很棒。唯一的问题是,用户不想使用箭头键来导航控件。他们想要使用tab键。但是,如果在DateTimePicker中按Tab键,它将保留到下一个控件。我通过使用下面的代码解决了这个问题。现在的问题是,我不能离开控制,哈哈。我不知道如何检查我当前在哪个子字段,所以我知道我是在最左边或最右边的子场上,只是离开控制而不是继续循环。有人有任何提示吗?这将不胜感激。谢谢!

    protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
    {
        if (!this.ShowCheckBox || (this.ShowCheckBox && this.Checked))
        {
            if (keyData == Keys.Tab)
            {
                // **THIS IS WHERE I'M STUCK
                // if not on far right subfield do below
                SendKeys.Send("{RIGHT}");
                return true;
            }
            else if (keyData == (Keys.Shift | Keys.Tab))
            {
                // **THIS IS WHERE I'M STUCK
                // if not on far left subfield do below
                SendKeys.Send("{LEFT}");
                return true;
            }
        }

        return base.ProcessCmdKey(ref msg, keyData);
    }

0 个答案:

没有答案