четверг, 8 декабря 2016 г.

Как добавить кнопку в ListView C#

Сидел тут без дела и посетила меня мысль!
А как в C# добавить кнопочки в ListView?!

Собственно после этого и полез я в гугл для поиска конкретной информации.

После недолгого использования поисковика был найден способ простого добавления контрола в ListView.

this.listView1.Controls.Add(new Button());

Но этого недостаточно, хочется, чтобы в каждом Item была своя кнопка!
Для этого переопределим класс Button (чисто для удобства). P.S. этого можно не делать! 

И запустим добавление кнопки в цикле с присваиванием ей позиции Item a.

public class MyButton : Button
    {
        public MyButton(string name,string text)
        {
            this.Name = name;
            this.Text = text;
        }
    }

for(int i=0;i<20 br="" i="">            {
                this.listView1.Items.Add(i.ToString());
                MyButton btn = new MyButton(i.ToString(), "Click Me");
                Point p = this.listView1.Items[i].Position;
                p.X += 50;
                btn.Location = p;
                btn.Size = this.listView1.Items[i].Bounds.Size;
                this.listView1.Controls.Add(btn);
            }
После данной операции появляется 20 записей с кнопками. Единственное НО кнопки не скролятся вместе с записями. Если знаете решение, то напишите в каменты! 

Комментариев нет: