gpt4 book ai didi

.net - 在 windows 窗体应用程序中为 MonthCalendar 控件捕获双击

转载 作者:行者123 更新时间:2023-12-04 18:13:24 26 4
gpt4 key购买 nike

如何捕获 MonthCalendar 控件的双击事件?我试过使用 MouseDown 的 MouseEventArgs.Clicks 属性,但它始终为 1,即使我双击。

最佳答案

请注意,MonthCalendar 在属性窗口中既不显示 DoubleClick 也不显示 MouseDoubleClick 事件。肯定有麻烦的迹象, native Windows 控件会阻止生成这些事件。您可以通过观察 MouseDown 事件并测量点击之间的时间来合成自己的。

向您的项目添加一个新类并粘贴如下所示的代码。编译。从工具箱顶部放下新控件。为 DoubleClickEx 事件编写一个事件处理程序。

using System;
using System.Windows.Forms;

class MyCalendar : MonthCalendar {
public event EventHandler DoubleClickEx;

public MyCalender() {
lastClickTick = Environment.TickCount - SystemInformation.DoubleClickTime;
}

protected override void OnMouseDown(MouseEventArgs e) {
int tick = Environment.TickCount;
if (tick - lastClickTick <= SystemInformation.DoubleClickTime) {
EventHandler handler = DoubleClickEx;
if (handler != null) handler(this, EventArgs.Empty);
}
else {
base.OnMouseDown(e);
lastClickTick = tick;
}
}

private int lastClickTick;
}

关于.net - 在 windows 窗体应用程序中为 MonthCalendar 控件捕获双击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8498014/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com