Где хранить общую информацию, которая может быть доступна для всех форм - PullRequest
1 голос
/ 05 апреля 2010

Это мое первое приложение winform в .NET ... Я сделал пару приложений ASP.NET ...

В этом приложении у меня есть некоторые общие переменные, такие как имя текущего пользователя, его выбранный процесс и т. Д. И т. Д. Это должно быть доступно в любое время из всех форм приложения ... Как я могу это сделать. .. Есть ли здесь что-то вроде "Сеанса" в ASP.NET здесь ...

Далее. Как кодеры обычно передают информацию из одной формы в другую ... Здесь я хочу передать информацию, полученную в первой форме, в последующие формы ... Я использую перегрузку конструктора и передаю значения в качестве параметров. .. Я уверен, что должен быть лучший способ сделать это ...

Спасибо за ваше время ...

Ответы [ 3 ]

1 голос
/ 05 апреля 2010

Есть много способов.

  1. Статические объекты - они являются общими для всех приложений, поэтому вы можете получить к ним доступ из любой формы или класса. Многим это не рекомендуется, и синглтон-классы предпочтительнее, но я не вижу никаких проблем с ними в приложениях winform.
  2. Публичные свойства - это специфические формы, а не глобальные. Очень похоже на использование ASP.NET.
  3. Коллекция параметров проекта - может использоваться для хранения данных, которые могут не измениться в течение жизненного цикла приложения. Все формы могут получить к нему доступ.
1 голос
/ 05 апреля 2010

Возможно, вы захотите реализовать объект Singleton

Реализация шаблона Singleton в C #

Это обычно используется для поточно-ориентированного кода, но также позволяет вам обращаться к одному и тому же экземпляру из нескольких форм, что позволяет вам использовать одни и те же данные без необходимости передавать объект из формы в форму.

0 голосов
/ 05 апреля 2010

Я бы использовал синглтон в этом случае, зацените эту универсальную реализацию синглтона .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...