Вы никогда не показываете форму после изменения ее элементов управления:
Form1 f = new Form1();
f.AddCmboBoxItems(partnrName);
Но вы вызываете это из существующей формы:
private void button1_Click(object sender, EventArgs e)
{
HelperClass.DoSomething();
}
Предположительно, вы хотите изменить элементы управления на этой форме?Тогда вам понадобится ссылка на эту форму.Передайте один метод:
private void button1_Click(object sender, EventArgs e)
{
HelperClass.DoSomething(this);
}
И примите его в определении метода:
public static void DoSomething(Form1 form)
{
new HelperClass().HelperMethod(form);
}
И так до точки, где вам нужно его использовать.(Примечание: у вас много странных косвенных указаний, происходящих здесь с кажущейся случайной смесью статических и экземпляров методов и классов. Вы можете упростить многое, что приведет к меньшему количеству изменений кода.)
В конечном счете, SomeMethod
требуется изменить экземпляр формы:
private void SomeMethod(Form1 form)
{
string[] partnrName = new string[5] { "str1", "str2", "str3", "str4", "str5"};
form.AddCmboBoxItems(partnrName);
}
Чтобы проиллюстрировать общую точку зрения, рассмотрим аналогию ...
Автомобиль съезжает ссборочная линия.Вы открываете сундук и кладете чемодан внутрь.Через несколько мгновений другая машина сошла с той же сборочной линии.Он идентичен первому автомобилю во всех отношениях.Когда вы открываете багажник второй машины, ожидаете ли вы найти в ней свой чемодан?
A Form
- это такой же объект, как и любой другой.Изменения, внесенные в один экземпляр объекта, не отражаются в других экземплярах того же объекта.Каждый экземпляр поддерживает свое собственное состояние.Чтобы изменить конкретный экземпляр, вам нужна ссылка на этот экземпляр.