我有一个PictureBox控件,当我快速点击时,它会在内部生成以下Windows消息:
* WM_LBUTTONDOWN
* WM_LBUTTONUP
* WM_LBUTTONDBLCLK
* WM_LBUTTONUP
有没有办法从控件中删除双击样式,也许在窗体的构造函数中?在Delphi中,我可以使用以下代码执行此操作:
// Prevent TImage from generating OnDblClick event notifications
btnShift.ControlStyle := (btnShift.ControlStyle - [csDoubleClicks]);
如果不同时处理Click和DoubleClick事件,我将如何在C#中实现相同的目标?
答案 0 :(得分:1)
覆盖新控件中的默认类样式
using System;
using System.Windows.Forms;
namespace NoDblClickPic
{
public partial class NoDblClickPicControl : PictureBox
{
private const int CS_DBLCLKS = 0x8;
public NoDblClickPicControl()
{
}
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ClassStyle &= ~CS_DBLCLKS;
return cp;
}
}
}
}