在日期时间选择器中失去焦点

时间:2013-09-14 14:58:03

标签: c# winforms datetimepicker

我正在尝试使用其他自定义搜索字段(如文本框和复选框)在两个日期之间实现自定义搜索,但是当我在搜索条件中使用日期时间选择器时,我可以获得准确的搜索,但是第二次日期术语将被使用,即使我没有使用它这是因为我使用> dtp_fromDate.Focused 像这样:

if (dtp_FromDate.Focused)
{
    tmpPersons = ctx.People.Where(c => c.InsertDate >= dtp_FromDate.Value).ToList();
}
if (dtp_ToDate.Focused)
{
    tmpPersons=ctx.People.Where(c => c.InsertDate >= dtp_ToDate.Value).ToList();               
}

我的问题是:

1#是否有办法在搜索结果与视图绑定后失去焦点?类似于:dtp_FromDate.Focused=false

2#是否有更好的方法在搜索条件中使用DateTimePicker比我正在使用的更好?

感谢。

PS:我在网上搜索了很多,但没有结果可以满足!

3 个答案:

答案 0 :(得分:1)

我不确定你在问什么,但我确实看到了这个:

if (dtp_ToDate.Focused)
{
    tmpPersons=ctx.People.Where(c => c.InsertDate >= dtp_FromDate.Value).ToList();               
}

这是从dtp_FromDate再次查询 - 你是不是应该从dtp_ToDate开始,就像这样?

if (dtp_ToDate.Focused)
{
    tmpPersons=ctx.People.Where(c => c.InsertDate <= dtp_ToDate.Value).ToList();               
}

答案 1 :(得分:1)

而不是依赖焦点,如何检查控件是否有值?

在您发布的代码中实现它的方式意味着您可以设置起始日期或日期,不是吗?

同样在日期查询中,它应该是&lt; =

如果我理解了你的问题,这应该可以解决你的问题。

答案 2 :(得分:0)

焦点:您可以尝试在搜索后将焦点设置为其他内容 喜欢:abc.Focus();