C# При динамическом добавлении кнопки в User Control ничего не происходит

202
08 февраля 2018, 14:02

Вот код

public partial class  UserControl1 : UserControl
{
    public UserControl1()
    {
        InitializeComponent();       
    }
    public void ListFiles()
    {
        for (int i = 0; i < elemList.Count; i++)
        {
            Button b1 = new Button();
            b1.Location = new System.Drawing.Point(this.ClientRectangle.Width / 2 - 125 / 2, this.ClientRectangle.Height / 2 - 32);
            b1.Size = new Size(125, 32);
            b1.TabIndex = 0;
            b1.Text = "TEXT";
            b1.UseVisualStyleBackColor = true;
            UserControl1 cont = new UserControl1();
            cont.Controls.Add(b1);                     
            y += 85;
        }
    }
}

Цикл проходит как надо, но ничего не рисуется в контроле. В чем проблема? Если поместить код в UserControl(), то всё работает. Но мне нужно через отдельную функцию, чтобы только после определенных событий рисовало кнопку.

Answer 1
UserControl1 cont = new UserControl1(); //каждый раз создаете новый объект внутри своего объекта.
cont.Controls.Add(b1);          

Попробуйте заменить эти две строки на это:

this.Controls.Add(b1);
READ ALSO
Как динамически управлять контентом в ASP.NET MVC?

Как динамически управлять контентом в ASP.NET MVC?

Начал изучать ASPNET MVC 5, делаю ToDo-app, и сразу же возник вопрос: как динамически изменять DOM, т

184
Хоть один рабочий способ отправки на smtp

Хоть один рабочий способ отправки на smtp

Через стандартный SmtpClient не могу отравить сообщение ни с какого ящика ни на какойМэил, яндекс, гмаил, раком, все перепробовал, но везде под...

232
Вывод сообщения на экран с помощью alert

Вывод сообщения на экран с помощью alert

ЗдравствуйтеНеобходимо вывести сообщение на экран с помощью простого alert

219
C# SignalR в консольном приложении [требует правки]

C# SignalR в консольном приложении [требует правки]

Можно ли использовать SignalR не в WebForms, а в консольном приложении? Если да, то где взять пример?

204