【问题标题】:Make DateTimePicker work as TimePicker only in WinForms使 DateTimePicker 仅在 WinForms 中用作 TimePicker
【发布时间】:2011-08-01 09:50:06
【问题描述】:

如何限制DateTimePicker只选择时间?我不知道如何禁用日历控件,当您按下DateTimePicker 右侧的按钮时该控件会下降。

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    MSDN 中的一个 sn-p:

    '下面的代码示例显示了如何 创建一个 DateTimePicker 使用户只能选择时间。'

    timePicker = new DateTimePicker();
    timePicker.Format = DateTimePickerFormat.Time;
    timePicker.ShowUpDown = true;
    

    【讨论】:

    • 哈,解决方案很简单:只需将 datetimepicker 的 ShowUpDown 属性设置为 true,并将 Format 设置为 DateTimePickerFormat.Time。仅将 Format 设置为 DateTimePickerFormat.Time 是不够的。
    【解决方案2】:

    您想将其“格式”属性设置为时间并为其添加一个旋转按钮控件:

    yourDateTimeControl.Format = DateTimePickerFormat.Time;
    yourDateTimeControl.ShowUpDown = true;
    

    【讨论】:

      【解决方案3】:

      ...或者,如果您只想显示部分时间值,请使用“自定义”:

      timePicker = new DateTimePicker();
      timePicker.Format = DateTimePickerFormat.Custom;
      timePicker.CustomFormat = "HH:mm"; // Only use hours and minutes
      timePicker.ShowUpDown = true;
      

      【讨论】:

      【解决方案4】:

      如果要从属性中执行此操作,可以通过将DateTimePickerFormat 属性设置为DateTimePickerFormat.Time 并将ShowUpDown 属性设置为true 来实现。另外,customFormat 可以在属性中设置。

      【讨论】:

        【解决方案5】:

        将以下事件添加到 DateTimePicker

        Private Sub DateTimePicker1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles DateTimePicker1.KeyPress
            e.Handled = True
        End Sub
        

        【讨论】:

        • 这种语言绝对不像 C#。此外,您应该解释该代码的作用。它如何禁用日期更改,但保留时间更改。
        【解决方案6】:

        最好的方法是:

        datetimepicker.Format = DatetimePickerFormat.Custom;
        datetimepicker.CustomFormat = "HH:mm tt";
        datetimepicker.ShowUpDowm = true;
        

        【讨论】:

        • 我喜欢您将“tt”添加到自定义格式中的方式,以便我们可以选择上午或下午
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多