C# 可以使用四分之一的日期时间选择器吗

C# 可以使用四分之一的日期时间选择器吗,c#,C#,我用 可以在DateTimePicker控件中使用季度名称吗? 例如: 2018年第一季度y=>点击向上按钮后=>2018年第2季度=>2018年第三季度y=>2018年第四季度y=>2019年第一季度。等等 使用其他控件可能更好?比如域名升级?但如何在DomainUpDown控件中自动执行此操作?如果有人需要在DateTimePicker中使用Quarter:我决定使用DomainUpDown 如果它能帮助别人,我会很高兴的 你写了一些代码来尝试吗?您可以共享它吗?您可以使用DateTimeP

我用

可以在DateTimePicker控件中使用季度名称吗? 例如: 2018年第一季度y=>点击向上按钮后=>2018年第2季度=>2018年第三季度y=>2018年第四季度y=>2019年第一季度。等等


使用其他控件可能更好?比如域名升级?但如何在DomainUpDown控件中自动执行此操作?

如果有人需要在DateTimePicker中使用Quarter:我决定使用DomainUpDown


如果它能帮助别人,我会很高兴的

你写了一些代码来尝试吗?您可以共享它吗?您可以使用DateTimePicker.CustomFormat和DateTimePicker.format=custom定义自定义格式,包括您自己的文本。然而,由于您希望显示一个不属于日期时间本身的数字季度,您至少必须从DateTimePicker派生。问题是这是否比从头开始编写用户控件更容易。奥利弗,你能帮我吗?只是一个简单的方法。
DateTimePicker.ShowUpDown = true;
private void Form_Load(object sender, EventArgs e)
{
     string[] q = Enumerable.Range(0, 200).Select(x => $"{(x % 4) + 1} quarter {2012 + x / 4} y.").ToArray();
     Array.Reverse(q);
     domainUpDown1.Items.Clear();
     domainUpDown1.Items.AddRange(q);
     string currentDateTime = GetQuarter(DateTime.Now) + " quarter " + Convert.ToDateTime(DateTime.Now).ToString("yyyy") + " y.";
     domainUpDown1.SelectedItem = currentDateTime;
}


public int GetQuarter(DateTime date)
{
    if (date.Month >= 1 && date.Month <= 3)
       return 1;
    else if (date.Month >= 4 && date.Month <= 6)
       return 2;
    else if (date.Month >= 7 && date.Month <= 9)
       return 3;
    else
       return 4;
}