1. 程式人生 > >winfrom如何在listview中新增控制元件

winfrom如何在listview中新增控制元件

        private Button btn = new Button();
        private void Form1_Load(object sender, EventArgs e)
        {
            ListViewItem[] lvs = new ListViewItem[3];
            lvs[0] = new ListViewItem(new string[] { "行1列1", "行1列2", "" });
            lvs[1]=new ListViewItem(new string[] { "行2列1", "行2列2", "" });
            lvs[2]=new ListViewItem(new string[] { "行3列1", "行3列2", "" });
            this.listView1.Items.AddRange(lvs);

            btn.Visible=false;
            btn.Text = "...";
            btn.Click += this.button_Click;
            this.listView1.Controls.Add(btn);
            this.btn.Size = new Size(this.listView1.Items[0].SubItems[2].Bounds.Width,
                this.listView1.Items[0].SubItems[2].Bounds.Height);
        }
        private void listView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.listView1.SelectedItems.Count > 0)
            {
                this.btn.Location = new Point(this.listView1.SelectedItems[0].SubItems[2].Bounds.Left,
                    this.listView1.SelectedItems[0].SubItems[2].Bounds.Top);
                this.btn.Visible = true;
            }
        }
        private void button_Click(object sender, EventArgs e)
        {
            MessageBox.Show(this.listView1.SelectedItems[0].SubItems[0].Text);
        }

在我們設定用listview的時候,經常用到要動態地新增控制元件,這裡是個很好的解決辦法

http://p.blog.csdn.net/images/p_blog_csdn_net/wangyu065/EntryImages/20091014/gd.jpg

程式碼轉載自http://bbs.csdn.net/topics/320091790