C # Winform carrega dinamicamente usercontrols pelo nome
Eu quero saber se é possível carregar dinamicamente controles de usuário?
Este é um código para mostrar o que quero dizer:
public void Load()
{
Reset();
if (_host.User == null)
return;
int _count = 0;
String[] _applications = _host.User.Applications;
if (_applications == null)
return;
foreach (String _application in _applications)
{
TabPage _page = null;
switch (_application)
{
case "SF01":
_page = new TabPage();
_page.Text = "SF01";
_page.Controls.Add(new SF01(_container));
break;
}
if (_page != null)
{
tapplications.TabPages.Add(_page);
m_list.Add(_count, _page);
_count++;
}
}
tapplications.TabPages.Add(tlog);
if (_host.User.Admin)
tapplications.TabPages.Add(tadmin);
_container.Controls.Add(this);
}
Como você pode verSF01
é meu usercontrol.
Agora, como faço para carregar outros usercontrols pelo nome em vez de digitar com força o objeto de classe?
Dessa forma, posso criar mais aplicativos e esquecer como carregá-los. (case "SF01":
)
Todos os aplicativos residirão abaixo de uma pasta de projetoapplications
, talvez haja uma maneira de percorrer a pasta do projeto?