В Click-Event кнопки вы создаете новый UserControl и фактически не используете UserControl, который помещен в MainForm.
Либо вам нужно вызвать Refresh () для UserControl, который находится в вашей MainForm, либо добавить новый созданный UserControl в ControlsCollection MainForm.
Когда вы добавили UserControl с конструктором VisualStudio, MainForm должна содержать переменную с именем userControl1. На этом вы вызываете Refresh (). Затем вы должны увидеть ожидаемый результат и заполненный TreeView.
private void button1_Click(object sender, EventArgs e)
{
userControl1.Refresh(); // Assume that the name of UserControl is userControl1
}
Если вы хотите использовать новый UserControl каждый раз, когда вы нажимаете кнопку, вы должны добавить элемент управления в коллекцию ControlsCollection MainForm. Но тогда вам нужно выполнить некоторую логику компоновки.
private void button1_Click(object sender, EventArgs e)
{
UserControl userControl = new UserControl();
userControl.Refresh();
this.Controls.Add(userControl);
// Perform layout logic and possibly remove previous added UserControl
}