如果你在Click事件处理函数中做了一些让listview失去焦点的事,如MessageBox之类的,那么,DoubleClick事件是无法发生的,看看下面的程序,就可以实现两者兼容:using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;namespace WindowsApplication1
{
  /// <summary>
  /// Form1 的摘要说明。
  /// </summary>
  public class Form1 : System.Windows.Forms.Form
  {
    private System.Windows.Forms.ListView listView1;
    private System.Windows.Forms.Label label1;
    private System.ComponentModel.IContainer components;    public Form1()
    {
      //
      // Windows 窗体设计器支持所必需的
      //
      InitializeComponent();      //
      // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
      //
    }    /// <summary>
    /// 清理所有正在使用的资源。
    /// </summary>
    protected override void Dispose( bool disposing )
    {
      if( disposing )
      {
        if (components != null) 
        {
          components.Dispose();
        }
      }
      base.Dispose( disposing );
    }    #region Windows Form Designer generated code
    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {
      System.Windows.Forms.ListViewItem listViewItem1 = new System.Windows.Forms.ListViewItem(new string[] {
                                                           "222222"}, -1, System.Drawing.SystemColors.WindowText, System.Drawing.SystemColors.Window, new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134))));
      System.Windows.Forms.ListViewItem listViewItem2 = new System.Windows.Forms.ListViewItem(new string[] {
                                                           "111111"}, -1, System.Drawing.SystemColors.WindowText, System.Drawing.SystemColors.Window, new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134))));
      this.listView1 = new System.Windows.Forms.ListView();
      this.label1 = new System.Windows.Forms.Label();
      this.SuspendLayout();
      // 
      // listView1
      // 
      this.listView1.Items.AddRange(new System.Windows.Forms.ListViewItem[] {
                                            listViewItem1,
                                            listViewItem2});
      this.listView1.Name = "listView1";
      this.listView1.Size = new System.Drawing.Size(240, 180);
      this.listView1.TabIndex = 0;
      this.listView1.Click += new System.EventHandler(this.listView1_Click);
      this.listView1.DoubleClick += new System.EventHandler(this.listView1_DoubleClick);
      // 
      // label1
      // 
      this.label1.Location = new System.Drawing.Point(15, 200);
      this.label1.Name = "label1";
      this.label1.TabIndex = 1;
      this.label1.Text = "label1";
      // 
      // Form1
      // 
      this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
      this.ClientSize = new System.Drawing.Size(347, 253);
      this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                      this.label1,
                                      this.listView1});
      this.Name = "Form1";
      this.Text = "Form1";
      this.ResumeLayout(false);    }
    #endregion    /// <summary>
    /// 应用程序的主入口点。
    /// </summary>
    [STAThread]
    static void Main() 
    {
      Application.Run(new Form1());
    }    private void listView1_Click(object sender, System.EventArgs e)
    {
      label1.Text = "Click";
    }    private void listView1_DoubleClick(object sender, System.EventArgs e)
    {
      MessageBox.Show("DoubleClick");
    }
  }
}