При работе с коллекцией форм, которые должен пройти пользователь, лучше ли передавать данные при создании нового экземпляра этой формы или лучше вызвать функцию из предыдущей формы? У меня есть код написанный, который вызывает предыдущую процедуру, и выглядит уродливо, и я не могу вспомнить, почему это было сделано именно так. Единственная причина, по которой я мог придумать, - это, если данные были большими, и была хорошая вероятность, что пользователь не будет использовать данные, кроме как в специальном случае.Как передать переменные из формы в форму?
ответ
Если вы поместите все ваши общие данные в класс и затем передаете ссылку на экземпляр этого класса на конструктор в каждой форме, то не имеет значения, насколько велики данные, поскольку это всего лишь ссылка передается каждый раз.
У этого есть преимущество, что ваши формы не связаны друг с другом.
Это, по большей части, субъективный вопрос. Я лично взял маршрут, который казался более удобным для людей, которым придется иметь дело с моим кодом позже. Я хотел бы создать экземпляр формы, загрузить публичные свойства с тем, что я пытался передать, а затем сделать вид видимым. Таким образом, любой, кто редактировал новую форму, знал, что все данные были предварительно загружены. Любой, кто редактировал «старую» форму, знал, где загрузить любые новые свойства.
Если новой форме понадобятся данные немедленно, то, вероятно, лучше передать ее в конструкторе этой формы.
Используйте новую форму, и вы можете передать значения из формы на другой с помощью Server.Transfer Вы можете прочитать о Server.Transfer здесь: http://www.dotnet-guide.com/servertransfer.html
Вы могли бы иметь глобальные переменные данные, которая хранит все данные. Каждая форма может обращаться к нему независимо. Если у вас была многопоточная реализация, вы могли бы просто добавить потокобезопасность для аксессуаров глобальной переменной данных.
Два основных варианта, которые я обычно использую, - это либо хранить информацию в базе данных, такую как SQLServer или MS-Access, если имеется много информации, которую будут использовать многие формы, или если информация будет использоваться только в в следующей форме я передам информацию в эту форму, а затем сохраню ее по мере необходимости. то есть, если он создает таблицу данных для ее использования в качестве источника, сохраняет информацию в скрытом поле или даже помещает информацию в текстовые поля, ярлыки, комбинированные поля и т. д., которые им необходимо включить при загрузке.
Если вы говорите о winforms (а не в веб-формах), то вы, вероятно, должны использовать static class. Используйте статический член для привязки к объекту контекста (или тому, что вы планируете использовать в других формах). Все статические элементы гарантированно будут инициализированы до их первого использования.
Аналогичной альтернативой могло бы быть использование шаблона проектирования синглтона для создания singleton class.
Фактически эти два решения просто позволяют получить доступ к единой ссылке по всему миру, которая является мощью, которую можно использовать порой, поэтому ... будьте осторожны.
- 1. Как передать переменные из javascript в форму?
- 2. Передать переменные из одной формы в другую
- 3. C# как передать переменные в другую форму
- 4. Как передать значение формы в другую форму?
- 5. Как передать переменные формы в URL-адрес
- 6. Как передать переменные из формы jQuery в размещенную кнопку paypal
- 7. Как передать переменные javascript через форму?
- 8. Как передать данные из родительской формы в дочернюю форму
- 9. Как передать значение из моей формы в другую форму?
- 10. C# как передать значение из формы в форму через datagridview?
- 11. Как передать значение из дочерней формы в родительскую форму?
- 12. Как передать начальное значение из формы в новую форму?
- 13. CakePHP 2.2.3: Как передать переменные из одной формы в другую
- 14. Лучший способ передать переменные из одной формы в другую
- 15. Переменные переменные из формы Twig
- 16. Activator.CreateInstance передать переменную в форму
- 17. Как передать в форму форму FormBuilder?
- 18. Передать переменные из кнопки в форму на следующей странице
- 19. Как передать переменные из формы на платформе Wordpress?
- 20. Как передать переменные # переменную питона скрипту из окна формы приложения
- 21. передать переменные из HTML-формы в экземпляр класса php
- 22. Переменные сеанса из регистрационной формы не передаются в форму входа
- 23. Передать результаты формы в другую форму в значение формы
- 24. Как передать две переменные из формы, используя метод POST?
- 25. как передать данные из формы в другую форму, которая ранее была создана из любой другой формы?
- 26. Передать переменные с одной страницы на веб-форму в drupal
- 27. Symfony: Как передать переменные non-entity в форму
- 28. Невозможно передать входную матрицу из формы (3,1) в форму (3,)
- 29. Передать значение из родительской формы в дочернюю форму?
- 30. Передать переменные из HTML-формы в Perl-скрипт
Это лучший ответ. Также проверьте шаблон MVC, если вы хотите больше разделения между вашими формами, логикой и данными. –
Где бы вы создали экземпляр класса общих данных? Если он создается формой и передан byref, вам не нужно сохранять форму открытой до тех пор, пока вы не достигнете доступа к данным? –
Вам не нужно оставлять открытую форму открытой, класс не будет собираться мусором, пока не будет выпущена последняя ссылка на него. –