我在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}");
}
我打开下一个日历的意图是强制用户从下一个控件中选择值。任何帮助将不胜感激。
答案 0 :(得分:0)
使用CloseUp
代替ValueChanged事件private void dtp1_CloseUp(object sender, EventArgs e)
{
this.dtp2.Select();
SendKeys.Send("%{DOWN}");
}
希望它有所帮助!