Итак, вот что я пытаюсь сделать. У меня есть первичная форма в настольном приложении C#, в котором у меня есть menuStrip и splitContainer. При запуске приложения я загружаю UserControl с именем «Login» в splitContainer.Panel2, скрывая menuStrip. Управление Логин содержит поля Имя пользователя, Пароль и кнопку для входа в систему.Использование UserControl для входа в систему, а затем включение menuStrip в первичной форме
http://i.stack.imgur.com/5jcnK.png
После аутентификации (по нажатию кнопки) я хочу, чтобы включить MenuStrip и позволить другим UserControls в splitContainer.Panel2, при этом скрывая элемент управления Login.
http://i.stack.imgur.com/lwLvP.png
Как я этого добиться? Я пытался запустить событие из управления Login и каким-то образом заставить его работать в Первичной форме, но не смог реализовать. Этот подход даже стоит попробовать или мне нужно открыть несколько форм отдельно (я бы не хотел этого делать!) Любой более чистый подход к тому, как изменять вид в splitContainer.Panel2 (кроме панелей для наложения одного над другим, который был бы дизайн кошмара для меня), сохраняя при этом splitContainer.Panel1 с тем же контентом.
Событие было бы идеально. Форма будет подписана на событие UserControl и затем соответствующим образом переключит элементы управления. С какими трудностями вы сталкиваетесь с подходом к мероприятию? –
@Idle_Mind Спасибо за совет. IDK, события просто не работают. Возможно, я не делаю это правильно, так как я привел несколько руководств для этого. Внутри класса управления Login объявляю: public delegate void EventHandler (отправитель объекта, EventArgs e); публичное событие EventHandler Authenticated; При нажатии кнопки «Войти»: , если пользователь аутентифицирован из db i do: 1. Authenticated (это новый System.EventArgs()); ИЛИ 2. this.Authenticated (это, e); В классе первичной формы i ПОПРОБУЙТЕ: Login.EventHandler = новый EventHandler (аутентифицирован); Flummoxed, поскольку он должен работать согласно учебникам. – Abhi