如何在VB.Net中控制DateTimePicker的决战

如何在VB.Net中控制DateTimePicker的决战,vb.net,datetimepicker,Vb.net,Datetimepicker,我的表单中有两个DateTimePicker对象 “hh:mm tt”的自定义格式 决战=真 前 当我按下向上键时,我想将分钟值增加到+30 Time : 12:30 PM 使用事件 DataTimePicket.KeyDown 示例用法: VB.NET Private Sub Form1_Load(sender As Object, e As EventArgs) dateTimePicker1.KeyDown += DateTimePicker1OnKeyUp End Sub

我的表单中有两个DateTimePicker对象

“hh:mm tt”的自定义格式

决战=真

当我按下向上键时,我想将分钟值增加到+30

Time : 12:30 PM
使用事件

DataTimePicket.KeyDown
示例用法:

VB.NET

Private Sub Form1_Load(sender As Object, e As EventArgs)

    dateTimePicker1.KeyDown += DateTimePicker1OnKeyUp

End Sub

Private Sub DateTimePicker1OnKeyUp(sender As Object, e As KeyEventArgs)
    If e.KeyValue = 38 Then
        ' up
        dateTimePicker1.Value = dateTimePicker1.Value.AddSeconds(30)
        e.SuppressKeyPress = True
    ElseIf e.KeyValue = 40 Then
        'down
        dateTimePicker1.Value = dateTimePicker1.Value.AddSeconds(-30)
        e.SuppressKeyPress = True
    End If
End Sub
C#


谢谢你!成功了!但是,当用户单击向上/向下按钮时,我如何应用这些代码?向上/向下btn的意思是,有附加按钮?不,我将DateTimePicker的ShowUpDown属性设置为True,它看起来像数字向上/向下组件。似乎没有直接的方法,我可能的假设是,覆盖受保护的覆盖无效WndProc,并检查按下up/down时触发的特定消息
Private Sub Form1_Load(sender As Object, e As EventArgs)

    dateTimePicker1.KeyDown += DateTimePicker1OnKeyUp

End Sub

Private Sub DateTimePicker1OnKeyUp(sender As Object, e As KeyEventArgs)
    If e.KeyValue = 38 Then
        ' up
        dateTimePicker1.Value = dateTimePicker1.Value.AddSeconds(30)
        e.SuppressKeyPress = True
    ElseIf e.KeyValue = 40 Then
        'down
        dateTimePicker1.Value = dateTimePicker1.Value.AddSeconds(-30)
        e.SuppressKeyPress = True
    End If
End Sub
    private void Form1_Load(object sender, EventArgs e)
    {

        dateTimePicker1.KeyDown += DateTimePicker1OnKeyUp;

    }

    private void DateTimePicker1OnKeyUp(object sender, KeyEventArgs e)
    {
        if (e.KeyValue == 38) // up
        {
            dateTimePicker1.Value = dateTimePicker1.Value.AddSeconds(30);
            e.SuppressKeyPress = true;
        }
        else if (e.KeyValue == 40) //down
        {
            dateTimePicker1.Value = dateTimePicker1.Value.AddSeconds(-30);
            e.SuppressKeyPress = true;
        }
    }