VS2008 C# WinCE6.0 实现textbox的双击事件

花开花折 2016-09-19 08:26:41
1:自己重写了个类MyTextBox继承自TextBox,想实现TextBox的双击事件。
2:双击实例对象myTextBox,发现没有触发事件。 代码如下:

this.myTextBox.DoubleClick += new EventHandler(myTextBox_DoubleClick);


 
public class MyTextBox:TextBox
{
public new event EventHandler DoubleClick;
DateTime clickTime;
bool isClicked = false;
protected override void OnClick(EventArgs e)
{
base.OnClick(e);

if (isClicked)
{
TimeSpan span = DateTime.Now - clickTime;
if (span.Milliseconds < SystemInformation.DoubleClickTime)
{
DoubleClick(this, e);
isClicked = false;
}
}
else
{
isClicked = true;
clickTime = DateTime.Now;
}
}
}
...全文
284 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
没研究过c#的控件集成框架不好说。你可以自己看看他这个OnClick函数是不是在control类中接收到到单击事件时调用的。 如果是你重载就好了。父类统一处理之类一些常规公用的事件这个应该很正常的。 至于双击事件,说实在,wince是否支持都不确定,而且一般也不采用双击,触摸屏很少用这个,一般都是单击,就像现在的手机一样,反正我现在就没用过哪个app操作用双击的。
花开花折 2016-09-20
  • 打赏
  • 举报
回复
引用 2 楼 u010909114 的回复:
[quote=引用 1 楼 91program 的回复:] OnClick 事件有吗?如果有,当然只是简单的调试一下你写的计时的代码就 OK 了。
1:上面代码是参考一个Button类实现双击事件来实现的,刚查了下WinCE6.0 下TextBox类是没有OnClick事件,有一个虚方法 protect virtual void OnClick(EventArgs e) 2:倒是继承的Control类是有一个 public event EventHandler Click 事件的。 3:你说的是事件处理方法吧???这个是有的:myTextBox_DoubleClick[/quote] 1:有一个虚方法 protect virtual void OnClick(EventArgs e)这是Control类中的,不是TextBox类中的。
花开花折 2016-09-20
  • 打赏
  • 举报
回复
引用 1 楼 91program 的回复:
OnClick 事件有吗?如果有,当然只是简单的调试一下你写的计时的代码就 OK 了。
1:上面代码是参考一个Button类实现双击事件来实现的,刚查了下WinCE6.0 下TextBox类是没有OnClick事件,有一个虚方法 protect virtual void OnClick(EventArgs e) 2:倒是继承的Control类是有一个 public event EventHandler Click 事件的。 3:你说的是事件处理方法吧???这个是有的:myTextBox_DoubleClick
91program 2016-09-20
  • 打赏
  • 举报
回复
OnClick 事件有吗?如果有,当然只是简单的调试一下你写的计时的代码就 OK 了。

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧