如何让 dateTimePicker 不依赖于系统日期格式 C#

How do I get the dateTimePicker to not rely on system date format C#

我有这段代码可以在 dateTimePicker 上设置时间,但它在我朋友的计算机上崩溃了,因为他的 Windows 系统日期格式是 dd/MM/yy。我尝试在 属性 字段和代码中设置自定义时间,但它不接受。我如何强制 dateTimePicker 使用特定格式?

deadline_dtp.CustomFormat = "dd-MM-yyyy";
deadline_dtp.Format = DateTimePickerFormat.Custom;
deadline_dtp.Value = new DateTime(idYYYY, idMM, idDD);

那必须根据 msdn

在自定义格式之前先设置格式试试看。

例子

private void Form1_Load(object sender, EventArgs e)
        {
            dateTimePicker1.Format = DateTimePickerFormat.Custom;
            dateTimePicker1.CustomFormat = "dd-MM-yyyy";
        }

评论后编辑

在上面的方法中添加这两行:

var rightNow = DateTime.Now;
dateTimePicker1.Value = new DateTime(rightNow.Year, rightNow.Month, rightNow.Day);

如果仍然无效,请尝试调试来自您在 "new Datetime(..." 中的参数的值。