using System;
using System.Windows.Forms;
using System.Diagnostics;namespace WindowsApplication1
{          public class MyListView : ListView
     {
          private bool m_bIsFromDoubleClick = false;
          
          protected override void OnItemCheck(System.Windows.Forms.ItemCheckEventArgs ice)
          {               Debug.WriteLine ("OnItemCheck");
               if (m_bIsFromDoubleClick) 
               {
                    ice.NewValue = ice.CurrentValue;
                    m_bIsFromDoubleClick = false;
               }
               else
                    base.OnItemCheck(ice);
          }          protected override void OnMouseDown(System.Windows.Forms.MouseEventArgs e)
          {
               Debug.WriteLine ("OnClick");
               m_bIsFromDoubleClick = true;
               base.OnMouseDown(e);
          }          protected override void OnKeyDown(System.Windows.Forms.KeyEventArgs e)
          {
               Debug.WriteLine ("OnKeyDown");
               m_bIsFromDoubleClick = false;
               base.OnKeyDown(e);
          }
     }
}