Доброго времени суток.
Допустим пользователю даны права только на 2 из 5 кнопок, как мне отрисовать их по "феншую"?
В настоящий момент реализована через костыль, через проверку свойств компонента с классом доступаforeach (Control c in control.Controls)
{
foreach (svc.Level2 lev in listLevel2)
{
if (c.GetType() == typeof(ThisGroupBoxMain))
{
ThisGroupBoxMain cTemp = (ThisGroupBoxMain)c;
if (cTemp.NumberFunction == lev.ИД)
c.Visible = true;
}
else
if (c.GetType() == typeof(ThisGroupBox))
{
ThisGroupBox cTemp = (ThisGroupBox)c;
if (cTemp.NumberFunction == lev.ИД)
c.Visible = true;
}
else
if (c.GetType() == typeof(ThisDataGridView))
{
ThisDataGridView cTemp = (ThisDataGridView)c;
if (cTemp.NumberFunction == lev.ИД)
c.Visible = true;
}
else
FindAllLevel2(c, listLevel2);
}
}
Но это ведет к дополнительной нагрузке т.к. при создании формы идет отрисовка всех компонентов, а потом через Visible устанавливаем какие компоненты оставить видимыми.
p.s. тапками не закидывать... :)