C# 我能';使用DateTime时不启动方法

C# 我能';使用DateTime时不启动方法,c#,function,datetime,methods,datetimepicker,C#,Function,Datetime,Methods,Datetimepicker,我的代码有一些问题。。。 datetime初始化时,我看不到messagebox。 代码有什么问题?我根本找不到任何错误。 我正在使用一个支持DateTimePicker的WPF修改应用程序。 看起来是这样的: private void Start_Click(object sender, RoutedEventArgs e) { startjob(); } private void startjob() { DateTim

我的代码有一些问题。。。 datetime初始化时,我看不到messagebox。 代码有什么问题?我根本找不到任何错误。 我正在使用一个支持DateTimePicker的WPF修改应用程序。 看起来是这样的:

    private void Start_Click(object sender, RoutedEventArgs e)
    {
        startjob();
    }
    private void startjob()
    {
        DateTime start = (DateTime)DateTimePicker1.Value;
        DateTime end = (DateTime)DateTimePicker2.Value;
        DateTime now = DateTime.Now;
        if ((now > start) && (now < end))
        {
            System.Windows.MessageBox.Show("It works");
        }

XAML:
<wpfTool:DateTimePicker x:Name="DateTimePicker1" Margin="506,189,192,1137" Width="227" TimeFormat="LongTime">
                </wpfTool:DateTimePicker>
                <wpfTool:DateTimePicker x:Name="DateTimePicker2" Margin="506,238,192,1088" Width="227" Height="25">
                    </wpfTool:DateTimePicker>
private void Start\u单击(对象发送方,路由目标)
{
startjob();
}
私有void startjob()
{
DateTime start=(DateTime)DateTimePicker1.Value;
DateTime end=(DateTime)DateTimePicker2.Value;
DateTime now=DateTime.now;
如果((现在>开始)和((现在<结束))
{
System.Windows.MessageBox.Show(“它能工作”);
}
XAML:
DateTime?start=DateTimePicker1.Value;
DateTime?end=DateTimePicker2.Value;
DateTime now=DateTime.now;
如果(开始==null | |结束==null)
{
//其中一个选择器是空的
}

否则如果(now>=start.Value&&now是否确定
start
?如果看不到您将DateTimePicker1和DateTimePicker2的值设置为什么,就很难看出真正的错误…旁注,为什么要显式强制转换
DateTime
DateTimePicker1.Value
已经返回了一个
DateTime
对象。@keyboardP,因为如果我不使用(DateTime),我会出现以下错误:无法将类型“System.DateTime”隐式转换为“System.DateTime”。存在显式转换(是否缺少强制转换?)@NDJ我把DateTimePicker从2013-04-14-02-55-00改为2013-04-14-02-56-00谢谢,但是效果很好。如果DateTimePicker1已经启动,如果我不按开始按钮,消息框就不会显示。很奇怪。计时器是最好的解决方案吗?对不起,我不明白。当然,如果你不按按钮,什么都不会发生按钮。您的代码在开始按钮的单击事件中。哦,忘记了。当我单击开始按钮时,开始按钮等待Startjob开始,然后结束。
DateTime? start = DateTimePicker1.Value;
DateTime? end = DateTimePicker2.Value;
DateTime now = DateTime.Now;

if (start == null || end == null)
{
    // one of the pickers is empty
}
else if (now >= start.Value && now <= end.Value)
{
    // you selected values in range of "now"
}