Предполагая, что все изменения хранятся в базе данных, и форма инициализируется с тем, что находится в базе данных, вам не нужно делать ничего особенного.
Это все равно что сказать,
- Джон кладет что-то в ящик на полке в шкафу и уходит.
- Позже приходит Брэд и смотрит в коробку.
- Как мне убедиться, что Брэд видит, что Джон положил в коробку?
Единственное, что нужно иметь в виду, это то, что ваша форма должна быть инициализирована с тем, что находится в базе данных, прежде чем ее увидит любой пользователь.
Кроме того, в наши дни необычно иметь многопользовательскую систему, доступ к которой осуществляется только последовательно, причем не более одного пользователя одновременно. Если вы не уверены, что так будет всегда, возможно, имеет смысл реализовать это как веб-приложение.
Однако, если вы создаете что-то вроде системы для точек продаж, хотя, где вам необходимо такое оборудование, как сканеры штрих-кодов или устройства для считывания кредитных карт, вам должно подойти приложение winforms - и, фактически, оно в этом случае имеет больше смысла, чем веб-приложение - хранение всех данных в центральной общей базе данных, такой как MS SQL Server, решит большинство ваших проблем с синхронизацией.
Обновление
Если вы действительно спрашиваете, как сохранить приложение работающим, когда пользователь выходит из системы: Application.Run()
действительно нужно вызывать только один раз, когда приложение запускается. Вы запустите свою основную форму:
using(var mainForm = new MainForm())
Application.Run(mainForm);
Класс MainForm
может представлять, например, ваш основной экран ввода данных.
MainForm
будет отвечать за определение того, зарегистрирован ли пользователь и, при необходимости, показ модальной формы входа. Есть несколько других постов, посвященных этому:
Использование нескольких форм в c #