winfrom如何在listview中添加控件

2018-04-18 10:26:54 浏览数 (1)

代码语言:javascript复制
        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的时候,经常用到要动态地添加控件,这里是个很好的解决办法

0 人点赞