Как получить контроль над каждой ячейкой таблицы Layoutpanel, присутствующей в пользовательском элементе управления, и этот пользовательский элемент управления используется в другой winform?

Я создал пользовательский элемент управления с панелью макета таблицы. Теперь этот UserControl используется в другом приложении Winform. Я хочу прикрепить кнопку (любой элемент управления) к каждой ячейке панели tabelLayout, присутствующей в пользовательском элементе управления. Как я могу получить контроль над каждым ячейки панели макета таблицы этого пользовательского элемента управления?


person Sai Dixit    schedule 10.11.2016    source источник


Ответы (1)


Ваш пользовательский элемент управления должен иметь доступный метод, который будет делать то, что вы хотите для каждой ячейки. Просто добавьте такой метод в свой UserControl.

    public void AddControl(Control ctrl, int rownum, int colnum)
    {
        tableLayoutPanel1.Controls.Add(ctrl);
        tableLayoutPanel1.SetRow(ctrl, rownum);
        tableLayoutPanel1.SetColumn(ctrl, colnum);
        ctrl.Dock = DockStyle.Fill;
    }

Это поместит элемент управления в указанную вами ячейку и Dock.Fill его там.

person Murray Hertz    schedule 10.11.2016