c# - 如何使 DateTimePicker 在鼠标滚轮上递增/递减

标签 c# winforms

添加 DateTimePicker 控件时,您可以选择控件的部分值(例如月份),然后使用向上/向下箭头修改这部分日期/时间值(例如,递增/递减个月)。

我想做的是允许鼠标滚轮做同样的事情。我试图注册 MouseWheel 事件,但我无法找到一种方法来了解我的日期/时间的哪一部分当前被选中,所以我无法知道我是否应该增加时间、日期、月份或年。

有什么办法吗?

最佳答案

一个可能但不是很优雅的解决方案是这样的:

private void dateTimePicker1_MouseWheel(object sender, System.Windows.Forms.MouseEventArgs e)
{
    if (e.Delta > 0) 
    {
        System.Windows.Forms.SendKeys.Send("{UP}");
    } 
    else 
    {
        System.Windows.Forms.SendKeys.Send("{DOWN}");
    }
}

这在一般情况下绝对有效,但某些特殊情况可能会产生意想不到的结果(例如覆盖 KeyUp/KeyDown 事件)

关于c# - 如何使 DateTimePicker 在鼠标滚轮上递增/递减,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1026192/

相关文章:

c# - 在 Razor 应用程序中将参数从模型传递到 Controller

c# webbrowser 单击表单中的单选按钮

c# - 如何在生产环境中调试 C# Windows 窗体应用程序?

c#回调主线程

c# - 切换到此窗口

c# - 如何在设计时没有数据集的情况下为 XtraReports 中的字段设置数据源?

c# - 如何使用 DLLImport 将字符串从 C# 传递到 C++(以及从 C++ 到 C#)?

c# - EventHandler 向上转型/向下转型

.net - 寻找visual studio.NET C++的各种Windows Form教程

c# - 使用 this.validateChildren() 时如何针对所有无效表单控件设置 errorProvider?