C# 在windows窗体应用程序C中单击时DateTimePicker更改值#

C# 在windows窗体应用程序C中单击时DateTimePicker更改值#,c#,datetimepicker,C#,Datetimepicker,我正在C#的WindowsForm应用程序中使用日期时间选择器。我使用DateTime.Min值初始化dateTImePicker。我想要的是,当用户单击该下拉列表时,它应该将其值更改为DateTime。现在,value并在日历中显示当前值,但我必须首先打开它,然后关闭它,然后重新打开它,以获取日历中所需的日期。如何在一次点击中完成?任何帮助都将不胜感激 到目前为止,我已经尝试过这些活动: private void GroupEndingDate_MouseUp(object sender, M

我正在C#的WindowsForm应用程序中使用日期时间选择器。我使用
DateTime.Min
值初始化dateTImePicker。我想要的是,当用户单击该下拉列表时,它应该将其值更改为
DateTime。现在,
value并在日历中显示当前值,但我必须首先打开它,然后关闭它,然后重新打开它,以获取日历中所需的日期。如何在一次点击中完成?任何帮助都将不胜感激

到目前为止,我已经尝试过这些活动:

private void GroupEndingDate_MouseUp(object sender, MouseEventArgs e)
        {
            GroupEndingDate.Value = DateTime.Now;
        }

        private void GroupStartingDate_MouseDown(object sender, MouseEventArgs e)
        {
            GroupStartingDate.Value = DateTime.Now;
        }

        private void GroupStartingDate_DropDown(object sender, EventArgs e)
        {
            GroupStartingDate.Value = DateTime.Now;
        }

在您的下拉事件中尝试此选项。这对我有用

private void Form1_Load(object sender, EventArgs e)
{
    dateTimePicker1.Value = DateTime.Now.AddDays(-3);
}

private void dateTimePicker1_DropDown(object sender, EventArgs e)
{
    dateTimePicker1.Value = DateTime.Now;
}

以下内容对我来说很好,无需再次单击控件

private void dateTimePicker1_DropDown(object sender, EventArgs e)
{
    dateTimePicker1.Value = DateTime.Now;
}

但我同意这种方法对我来说有点奇怪。每次控件打开时都将设置日期。为什么不将其初始化为
DateTime.现在在表单的加载事件中

最好将日期时间选择器初始化为
DateTime.现在
如果它是任何一个月的第一个月,我仍然必须单击两次。。我不能复制你的问题。我尝试了dateTimePicker1.Value=DateTime.Now.AddDays(-15)//考虑到今天的日期。它很好用。在一个干净的临时项目中尝试一下。我怀疑你在其他地方做了一些古怪的事情。我也有OP的问题。在
下拉列表
事件中设置
日期时间选择器
,不会显示正确的日期。不要在
Form1\u Load
中初始化它,而是在
下拉列表中
将它设置为
DateTime.Now.AddDays(3)
并且它不工作。