【问题标题】:How to customize how items are displayed within a ComboBox control?如何自定义项目在 ComboBox 控件中的显示方式?
【发布时间】:2011-08-02 17:55:04
【问题描述】:

我当前的任务是用日期填充 ComboBox,让用户选择一个,然后确定他选择的日期。

默认情况下,ComboBox 控件使用Object.ToString 来确定要显示的内容。

我的问题是DateTime.ToString 同时显示日期和时间。由于时间与我的上下文无关,我不希望显示它。

有没有办法自定义组合框为每个项目显示的内容?或者也许是一种选择DateTime.ToString 将返回什么的方法?

【问题讨论】:

    标签: c# winforms datetime combobox


    【解决方案1】:

    在这种情况下,我会使用 ComboBox 控件的 FormatString 属性:

    myComboBox.FormatString = "yyyy-MM-dd";
    

    另一种可能性是使用DisplayMemberValueMember,但我认为在这种情况下这超出了您的需要。

    编辑:为了完整起见:还有一个Format-event

    【讨论】:

      【解决方案2】:

      你可以使用 string.Format(DateTime, "format");

      【讨论】:

        【解决方案3】:

        使用以下内容:

        DateTime.ToShortDateString()
        

        【讨论】:

        • 我不想将字符串添加到 ComboBox 项中,因为将所选项目解析为 DateTime 会很痛苦。
        猜你喜欢
        • 2016-03-12
        • 1970-01-01
        • 1970-01-01
        • 2014-03-13
        • 1970-01-01
        • 2021-02-26
        • 2010-11-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多