|
2 / 2 / 0
Регистрация: 26.05.2017
Сообщений: 125
|
|
Можно ли как то сделать так, чтобы сначала отображалась форма авторизации?12.04.2021, 10:10. Показов 5133. Ответов 38
Метки нет (Все метки)
Доброго дня. Подскажите пожалуйста. Есть приложение написанное ранее мной, однако от меня затребовали чтобы, работа с приложением была по форме авторизации - то есть после ввода логина и пароля, нужно чтобы еще и была связь формы логина и пароля с основной формой. Когда то я сталкивался с таким в делфи, но там нужно было сначала на форме 1 писать авторизацию, а на форме 2 уже программу иначе если сделать программу на форме 1 и просто закрыть авторизацию - программа запускала основную форму. Можно ли как то сделать так, чтобы сначала отображалась форма авторизации, а потом уже при введённых верно данных открывалась основная форма и не переписывать все заново.
0
|
|
| 12.04.2021, 10:10 | |
|
Ответы с готовыми решениями:
38
Как сделать чтобы при последующем открытии форма не отображалась? Как сделать так, чтобы по оси абсцисс отображалась дата |
|
Администратор
|
|||||||
| 12.04.2021, 10:26 | |||||||
1
|
|||||||
|
2 / 2 / 0
Регистрация: 26.05.2017
Сообщений: 125
|
|
| 12.04.2021, 10:33 [ТС] | |
|
OwenGlendower, То есть я делаю тогда в этом же проекте форму №2 и пишу к ней авторизацию, и у меня тогда будет взаимосвязь на форме 1 с (например ) textboxLogin.text а потом просто в мейн прописываю условие по которому запускается форма 1?
0
|
|
|
36 / 21 / 16
Регистрация: 29.03.2021
Сообщений: 94
|
||||||
| 12.04.2021, 10:41 | ||||||
|
OwenGlendover, в чем преимущество вашего подхода? Почему нельзя было сделать так:
0
|
||||||
|
2 / 2 / 0
Регистрация: 26.05.2017
Сообщений: 125
|
|
| 12.04.2021, 10:45 [ТС] | |
|
Gunner_Shark, тут скорее всего будет такая фигня как с делфи - то есть я закрою (без нажатия кнопки ОК) форму (даже если например убрать у нее в свойствах верхние кнопки закрыть свернуть и тд) если через например диспетчер задач взять убить запущенную форму авторизации может сразу открыться основная...
0
|
|
|
36 / 21 / 16
Регистрация: 29.03.2021
Сообщений: 94
|
|
| 12.04.2021, 10:48 | |
|
Daimonos, описанную вами ситуацию легко обработать в событии формы FormClosed. Если закрываешь форму авторизации, то приложение завершает работу совсем.
0
|
|
|
Администратор
|
|||
| 12.04.2021, 11:03 | |||
|
0
|
|||
|
2 / 2 / 0
Регистрация: 26.05.2017
Сообщений: 125
|
|||||||
| 12.04.2021, 11:17 [ТС] | |||||||
То есть сначала оно бы выгружало в какую нить переменную string, а с нее уже проверку дальше и вывод на label1
0
|
|||||||
|
Администратор
|
|
| 12.04.2021, 11:19 | |
|
Daimonos, зачем делать хорошо когда можно сделать плохо, да? Сделайте чтобы форма авторизации возвращала вам объект с информацией о пользователе. Именно там должен быть логин и полное имя. Уже заполненные. Далее передайте этот объект в главную форму, через её конструктор. И затем уже делайте с информацией всё что требуется.
0
|
|
|
2 / 2 / 0
Регистрация: 26.05.2017
Сообщений: 125
|
||||||||||||
| 12.04.2021, 16:54 [ТС] | ||||||||||||
|
OwenGlendower, попытался вашим вариантом, так же попытался вариантом предложенным вот здесь
уже вот попробовал даже например так:
0
|
||||||||||||
|
36 / 21 / 16
Регистрация: 29.03.2021
Сообщений: 94
|
||||||||||||||||
| 12.04.2021, 17:19 | ||||||||||||||||
|
Daimonos, в методе Main вы просто указываете название своей формы авторизации, у меня это FormAuthorization поэтому я так пишу
Daimonos, можно сделать через переменные как я показал, можно как человек выше советовал, через объект. Если через объект, то тогда нужно создать класс, который будет описывать пользователя, включая логин и пароль, и уже объект этого класса передавать в конструктор главной формы.
0
|
||||||||||||||||
|
Администратор
|
|
| 12.04.2021, 20:17 | |
|
Daimonos, пример передачи данных между формами вам уже привел Gunner_Shark. Я все еще считаю что вариант с созданием FormAuthorization в методе Main лучше. В нем будет по сути тоже самое, только в FormAuthorization нуджно добавить метод или свойство(а) возвращающей информацию о пользователе. Дальше, как и примере выше, передача в конструктор главной формы с сохранением в экземплярное поле.
0
|
|
|
2 / 2 / 0
Регистрация: 26.05.2017
Сообщений: 125
|
|
| 12.04.2021, 21:01 [ТС] | |
|
OwenGlendower, Gunner_Shark, Cпасибо! Буду пробовать. А то я уж думал подключить SQL базу для авторизации. Но как то нецелесообразно - пользователей мало, и приложение не будет работать в сети...
0
|
|
|
|
||||||
| 12.04.2021, 22:59 | ||||||
|
Предложу третий вариант:
Вызывать окно авторизации в Load или вообще конструкторе.
0
|
||||||
|
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
|
|
| 13.04.2021, 08:21 | |
|
Wolfdp, Неправильный у вас подход, хранить пароль и логин в долгосрочной памяти это плохо, нужно в форме авторизации узнавать авторизировался или нет, а дальше передавать уже статус авторизации либо пакет прав(разрешений)
0
|
|
|
2 / 2 / 0
Регистрация: 26.05.2017
Сообщений: 125
|
|
| 13.04.2021, 08:33 [ТС] | |
|
Wolfdp, Ваш проект у меня не компилируется(
Ошибка CS8137 Невозможно определить класс или элемент, использующий кортежи, так как не удалось найти необходимый тип компилятора (System.Runtime.CompilerServices.TupleEl ementNamesAttribute). Отсутствует ссылка?
0
|
|
|
2 / 2 / 0
Регистрация: 26.05.2017
Сообщений: 125
|
|||||||||||||||||||||
| 13.04.2021, 16:23 [ТС] | |||||||||||||||||||||
|
Блин. Уже мозги плавятся с этой авторизацией. функцию входа выполняет, все работает. НО.... Я не могу получить переменные, которые я там объявил для того чтобы их использовать в главной форме.
По сути нужно 3 переменных. Вытащить с одной формы на другую.
Program.yid1.id1 = xid1; Помогите пожалуйста допилить и разобраться почему не получает форма данные Добавлено через 10 минут Дополнение. С формы авторизации переменные получают данные следующим образом:
0
|
|||||||||||||||||||||
|
68 / 56 / 15
Регистрация: 30.01.2020
Сообщений: 332
|
|||||||||||
| 13.04.2021, 16:38 | |||||||||||
|
Daimonos, вам же выше уже предлагали передавать через конструктор
И если f1 это основная форма, то лучше всё-таки f1.Show() а не f1.ShowDialog()
0
|
|||||||||||
|
Администратор
|
|
| 13.04.2021, 17:10 | |
|
0
|
|
|
68 / 56 / 15
Регистрация: 30.01.2020
Сообщений: 332
|
|
| 13.04.2021, 17:27 | |
|
0
|
|
| 13.04.2021, 17:27 | |
|
Помогаю со студенческими работами здесь
20
Сделать форму авторизации так, чтобы сначала показало приветствие, а затем показало авторизацию как сделать так, чтобы галерея хорошо отображалась на мобильных устройствах?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|