本站首页
|
代码实验室
|
CSS3 中文参考
|
书籍出版
|
Google 英文翻译版
|
给我留言
文章标题
文章内容
.NET 相关
ASP.NET
ASP.NET MVC
Sliverlight
Linq
C#
F#
VB.NET
Web Services
XML/XSL
.NET FAQ
Web 开发
Internet Explorer
CSS
Javascript
SQL Server
Java应用
友情链接
关于 带CheckBoxs的ListView在双击时如何不改变Checked状态? 的评论:
评论日期:2010年04月01日 10:36:50
评论人:SONIC3D
多谢大侠的文章,帮了我大忙,我稍作了点改动,以取得正确的鼠标点击坐标和产生MouseDblClick事件
class DblClickableListView : ListView
{
private const int WM_LBUTTONDBLCLK = 0x0203;
public DblClickableListView()
: base()
{
}
protected override void WndProc(ref Message m)
{
if(m.Msg == WM_LBUTTONDBLCLK)
{
Point p = new Point(SignedLOWORD(m.LParam), SignedHIWORD(m.LParam));
ListViewItem lvi = GetItemAt(p.X, p.Y);
if(lvi != null)
lvi.Selected = true;
OnDoubleClick(EventArgs.Empty);
OnMouseDoubleClick(new MouseEventArgs(MouseButtons.Left, 2, p.X, p.Y, 0));
}
else
base.WndProc (ref m);
}
// 以下函数抄自System.Windows.Forms.NativeMethods.Util类
private static int SignedLOWORD(int n)
{
return (short)(n & 0xffff);
}
private static int SignedLOWORD(IntPtr n)
{
return SignedLOWORD((int)((long)n));
}
private static int SignedHIWORD(int n)
{
return (short)((n >> 0x10) & 0xffff);
}
private static int SignedHIWORD(IntPtr n)
{
return SignedHIWORD((int)((long)n));
}
}
sonic3d[at]gmail.com
评论日期:2010年05月08日 19:59:59
评论人:
这个挺好
发表评论:
(由于众所周知的原因,评论需要审核后才能显示,请勿重复发评论。谢谢!!)
标题:
用户名:
内容:
验证码:
请输入右边图像中的文字。