Member 11776570 Ответов: 2

Как получить доступ к одной переменной формы windows для другой формы


Название проекта ОТС.
я назначил эту переменную в форме продукта
public static string productname;


Но я хочу использовать эту переменную в AddProductForm

Но это не доступ внутрь
AddProductForm


Что я уже пробовал:

я должен попробовать
Product.productname

в форме AddProductForm. Но это дает ошибку.
Если я наберу это
OTS.Product.productname
тогда это работает.
Почему он не работает без названия проекта.

2 Ответов

Рейтинг:
6

Dave Kreskowiak

Как правило, если форме требуется некоторый фрагмент данных, вы передаете эти данные в форму либо в ее конструкторе, либо в некоторых свойствах, которые предоставляет новая форма, либо в каком-то методе этой формы. Он никогда не должен просить другую форму или класс для необходимых ему данных.

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


Рейтинг:
12

F-ES Sitecore

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

Что касается вашего фактического вопроса, то он связан с пространствами имен и является одним из самых основных аспектов .net. Если вы не понимаете пространства имен, то вам будет трудно делать какое-либо эффективное кодирование в .net. Я предлагаю вам взять книгу по c# и пройти через нее, чтобы получить представление об основах, прежде чем взяться за свой проект.


Member 11776570

Но проблема в том, что в другой форме windows нет никакой ошибки. В другой форме windows он работает без пространства имен OTS, но не работает в форме продукта.

F-ES Sitecore

В Google можно найти статьи о пространствах имен и о том, как они работают. Вы не можете ожидать, что мы объясним вам каждый аспект развития в серьезном посте на форуме. Этот материал широко документирован.