Как переменные могут быть переданы между Winforms? Пример идентификатора клиента
Спасибо
Как переменные могут быть переданы между Winforms? Пример идентификатора клиента
Спасибо
Вы должны объявить общедоступную собственность в форме, к которой хотите перейти. Затем, после создания вашей новой формы, это простое назначение:
C#: MyOtherInstantiatedForm.CustomerID = CurrentCustomerID;
Вам нужно передать CustomerID в несколько форм? Как насчет другой информации о клиенте? Если вы предоставите больше информации, мы, вероятно, сможем предложить вам лучшее решение.
Здесь важно отметить, что форма — это не что иное, как класс C#. Если вы подумаете о Форме в этих терминах, ответ, вероятно, придет сам собой.
По сути, у вас есть два варианта. Во-первых, нужно открыть свойство формы, для которой вы хотите передать данные. Это достойный метод, если ваша форма не зависит от передаваемых данных для функционирования.
CoolForm myForm = new CoolForm();
myForm.MyProp = "Hello World";
myForm.ShowDialog();
Второй вариант — передать данные через конструктор. Я предпочитаю этот подход, когда форма зависит от данных, чтобы функционировать. Я также склонен помечать конструктор без параметров как закрытый, чтобы убедиться, что форма правильно создана.
CoolForm myForm = new CoolForm("Hello World");
myForm.ShowDialog();
Надеюсь, это поможет...
Чтобы добавить к ответу Джима, вы можете передавать переменные через общедоступные свойства или через конструктор форм. Так
Form2 frm = new Form2(customerId);
или как Джим обеспечил. Есть много способов получить значение, я предпочитаю конструктор, если от него зависит вторая форма.
Если CustomerID общедоступен:
frmTwo.CustomerId = frmOne.CustomerId