在其他datetimepicker winforms C#中选择日期时打开datetimepicker的日历

时间:2017-09-29 21:47:46

标签: c# winforms datetimepicker

我在C#的Windows窗体上有3个日期时间选择器。 datetimepickers命名为dtp1,dtp2,dtp3。一旦我在dtp1中选择了一个日期,我想要打开dtp2的日历。换句话说,dtp2日历应该出现。我在这个论坛和谷歌搜索过但无法找到合适的解决方案。

我目前正在使用下面的代码打开组合框值变化的dtp1日历。

dtp1.Select();
SendKeys.Send("%{DOWN}");

但如果我在dtp1的值已更改事件上使用相同的代码,则会重新打开dtp1而非dtp2的日历。我在dtp1的值更改事件中尝试了以下内容。

    private void dtp1_ValueChanged(object sender, EventArgs e)
    {
        listView1.Items.Clear();
        listView2.Items.Clear();

        dtp2.Select(); //dtp2.Focus();
        SendKeys.Send("%{DOWN}");
    }

我打开下一个日历的意图是强制用户从下一个控件中选择值。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

使用CloseUp

代替ValueChanged事件
private void dtp1_CloseUp(object sender, EventArgs e)
{
    this.dtp2.Select();
    SendKeys.Send("%{DOWN}");
}

希望它有所帮助!