Рейтинг:
2
Wendelius
Если я правильно понимаю вопрос, один простой способ-использовать статический класс для хранения информации о приложении в целом. Например
public static class MyAppData {
public bool LoggedIn { get; set; }
public string UserName { get; set; }
}
Вы можете получить доступ к данным просто используя например
if (!MyAppData.LoggedIn) {
...
}
...
MessageBox.Show("$"Welcome {MyAppData.UserName}");
Primo Chalice
Да, только что-то вроде этого. Так что же мне делать дальше?
Wendelius
Не уверен, что понял ваш вопрос. Создайте статический класс и сохраните необходимую информацию в свойствах класса, которые вы определяете в этом классе.
Primo Chalice
Хорошо. Я попробую. Но я думаю, вы поняли. Я объясню вкратце.
Скажем, у меня есть форма входа в систему, и я вхожу в систему с пользователем "X". Как только вход в систему будет успешным, появится окно сообщений с надписью "Hello X". Форма входа закроется, и откроется основная форма. (Я сделал это без сообщения). После загрузки основной формы я выполню условие if Username==X, а затем сохраню все данные в таблице в SQL.
Таким образом, каждый пользователь будет иметь отдельную таблицу для своей сохраненной работы и прогресса.
Я создал таблицы.
Wendelius
Итак, после успешного входа в систему сохраните имя пользователя в статическом классе и при необходимости в другой форме извлеките его оттуда. Обратите внимание, что статический класс не виден никаким другим приложением, поэтому в этом смысле он отличается от переменных сеанса в ASP.Net
Что касается таблиц, то иметь отдельные таблицы для разных пользователей звучит как плохая идея. Это обычная практика-делиться таблицей между пользователями, поэтому я рекомендую пересмотреть этот подход.
Рейтинг:
1
OriginalGriff
В WinForms нет такого понятия, как "сеанс": это конструкция, которая необходима на веб-сайтах, потому что у вас может быть несколько пользователей, вошедших в систему одновременно, и одно приложение (IIS) заботится о них всех. Каждый пользователь получает сеанс, так что его данные могут храниться отдельно от всех остальных, без необходимости накладных расходов полного экземпляра приложения, работающего для каждого отдельного пользователя.
С Winforms все по-другому: обычно на машине есть только один пользователь, и приложение работает только для этого одного пользователя: если вам нужно два пользователя на одной машине одновременно, вы запускаете второй экземпляр приложения. Вам не нужен "сеанс", потому что в приложении нет другого пользователя, с которым можно было бы что-то перепутать!
Итак, ваш процесс таков:
Запустите приложение.
Откройте форму входа в систему.
Проверьте пользователя.
Скрыть или закрыть форму входа, открыть основную форму, передать сведения о пользователе в основную форму.
Затем основная форма сохраняет информацию о пользователе как часть своего экземпляра формы и отображает ваше сообщение "Добро пожаловать".