Приветствую. В приложении WinForms есть 2 режима работы - админ и юзер в зависимости от логина и пароля которые он ввел. режимы отличаются количеством отображаемых элементов(кнопочек, лаиблов и тд). что бы на каждой форме не писать во время загрузки перечень того что видит а что не видит юзер решил организовать процесс через 1 класс поведения, интерфейс и несколько классов реализаторов. Но нужные элементы не скрываются, в этом проблема. Собственно код :
interface Idostup
{
void setFunctions();
}
главный класс, через обьект которого происходит реализация интерфейса :
class dostupModul
{
public Idostup functionsCommand { get; set; }
public void setControll()
{
functionsCommand.setFunctions();
}
}
для примера один из классов, реализующих разное поведение :
class mainFormFunction : Idostup
{
public void setFunctions()
{
Main m = new Main();
m.lbl_levelDostup.Visible = false; // это не работает
MessageBox.Show("ewwerwerwer",""); // это работает
}
}
И загрузка самой формы на которой нужно что то скрыть :
private void Main_Load(object sender, EventArgs e)
{
dostupModul M = new dostupModul();
M.functionsCommand = new mainFormFunction();
M.setControll();
Что не так написал, где ошибся подскажите ?
Вы создаёте новый объект Main
в методе setFunctions
, устанавливаете ему какое-то свойство и всё, дальше ничего с этим объектом не происходит. Делаете вы это в методе Main_Load
, который принадлежит другому объекту Main
. Вам нужно передавать объект Main
, событие загрузки которого срабатывает, в метод setFunctions
.
Например:
interface Idostup
{
void setFunctions(Main main);
}
class dostupModul
{
private Main _main;
public dostupModul(Main main)
{
_main = main;
}
public Idostup functionsCommand { get; set; }
public void setControll()
{
functionsCommand.setFunctions(_main);
}
}
class mainFormFunction : Idostup
{
public void setFunctions(Main main)
{
main.lbl_levelDostup.Visible = false;
MessageBox.Show("ewwerwerwer","");
}
}
Вызов:
private void Main_Load(object sender, EventArgs e)
{
dostupModul M = new dostupModul(this);
M.functionsCommand = new mainFormFunction();
M.setControll();
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Всем приветКак я могу добавить картинку (glyphicon glyphicon-cog) к элементу "li" ?
Подскажите как можно решить данный кейс для iOS 9+, Android 44+ и WP 8