首先搞清楚自己想要什么效果。其次,去MSDN上看看这几个属性怎么描述的

解决方案 »

  1.   

    设置它 的View 属性为Details测试一下。
      

  2.   

    我设置Activation属性为"TwoClick" (msdn的解释是"双击一个选项,激活它"),在Form1的构造函数里面写下:    public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                listView1.Columns.Add("First");
                listView1.Columns.Add("Second");
                var item = new ListViewItem();
                listView1.Items.Add(item).Text = "expense";
                item.UseItemStyleForSubItems = false;
                var sub = item.SubItems.Add("subbbbbbbbbbb");
                sub.ForeColor = Color.Red;
                sub.Font = new Font("Arial", 12, FontStyle.Italic);
                listView1.AutoResizeColumn(1, ColumnHeaderAutoResizeStyle.ColumnContent);
                listView1.Items.Add(new ListViewItem()).Text = "earning";
                listView1.View = View.Details;
            }
        }
    Form1.Designer.cs里面的代码片如下:            // 
                // listView1
                // 
                this.listView1.Activation = System.Windows.Forms.ItemActivation.TwoClick;
                this.listView1.LargeImageList = this.imageListBig;
                this.listView1.Location = new System.Drawing.Point(13, 13);
                this.listView1.Name = "listView1";
                this.listView1.Size = new System.Drawing.Size(369, 302);
                this.listView1.SmallImageList = this.imageListSmall;
                this.listView1.TabIndex = 0;
                this.listView1.UseCompatibleStateImageBehavior = false;
    可是我发现还是单击就能选择某一行。难道"TwoClick"属性值没有用吗?
    谢谢!
      

  3.   

    我设置Activation属性为"TwoClick" (msdn的解释是"双击一个选项,激活它"),在Form1的构造函数里面写下:    public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                listView1.Columns.Add("First");
                listView1.Columns.Add("Second");
                var item = new ListViewItem();
                listView1.Items.Add(item).Text = "expense";
                item.UseItemStyleForSubItems = false;
                var sub = item.SubItems.Add("subbbbbbbbbbb");
                sub.ForeColor = Color.Red;
                sub.Font = new Font("Arial", 12, FontStyle.Italic);
                listView1.AutoResizeColumn(1, ColumnHeaderAutoResizeStyle.ColumnContent);
                listView1.Items.Add(new ListViewItem()).Text = "earning";
                listView1.View = View.Details;
            }
        }
    Form1.Designer.cs里面的代码片如下:            // 
                // listView1
                // 
                this.listView1.Activation = System.Windows.Forms.ItemActivation.TwoClick;
                this.listView1.LargeImageList = this.imageListBig;
                this.listView1.Location = new System.Drawing.Point(13, 13);
                this.listView1.Name = "listView1";
                this.listView1.Size = new System.Drawing.Size(369, 302);
                this.listView1.SmallImageList = this.imageListSmall;
                this.listView1.TabIndex = 0;
                this.listView1.UseCompatibleStateImageBehavior = false;
    可是我发现还是单击就能选择某一行。难道"TwoClick"属性值没有用吗?
    谢谢!
    你想让它 双击选择一行??
      

  4.   


    我是这样理解的,网上和书上都这样说:
    Activation控件用戶在列表視圖中激活選項的方式。含值如下:
    Standard:這個設置是用戶為自己的機器選擇的值=
    OneClick:單擊一個選項,激活它
    TwoClick:雙擊一個選項,激活它那到底我应该怎么理解"激活"这个词语呢? 多谢!
      

  5.   

    激活其实 就是处理其它操作,比如你 激活它,可能要对它进行修改,修改的方式可能是 弹出窗口修改。
    激活 和 “选择” 项是不同的,激活动作 会包含一个 ItemActivate 事件处理,而选择没有事件处理。
      

  6.   


    谢谢,ListViewSubItem不支持In-place编辑吗,也就是我设置了LabelEdit=True属性的时候? 还需要我处理这个事件来弹出一个对话框让用户编辑?
      

  7.   


    你说的很对,我应该处理一下ItemActivate事件。
    给分了!