Получить значения из элемента управления в form1 в новую форму C #

Я пытаюсь создать событие click для новой формы, в которую вводится текстовое свойство элементов управления form1.

Я сделал открытый метод, который возвращает значения, которые мне нужны, но возвращаемые значения всегда нулевые. Я искал везде это.

public List <string> returner () { List <string> thevalues = новый список <string> (); значения . Добавить ( TextBox1 . Text ); значения . Добавить ( textbox2 . Текст ); вернуться thevalues ; } :

Form1 x = new Form1();

List<string> values = x.returner();
label1.Text = values[0];
label2.Text = values[1];

Form1:

Form1 form1 = new Form1();
Form2 form2 = new Form2();
form2.Form1 = form1;

Моя проблема в том, что не возвращаются значения, потому что я объявляю новый экземпляр, Form1а не использую тот, в котором есть значения (я полагаю).

c#,winforms,

1

Ответов: 2


1 принят

Да, это объясняет, что происходит не так. В основном вам нужно сообщить Form2 о соответствующем экземпляре Form1. Как именно вы это сделаете, будет зависеть от того, что все создает. Например, вы можете иметь:

Form2

Или вы можете передать ссылку в конструкторе Form2.

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


вы испортили свои коды ... если вы хотите получить значение текста, просто используйте это. string textValue = form1.textbox1.Text или .. так как вы не опубликовали полный код здесь .. попробуйте это вместо создания объектаform1.returner();

C #, WinForms,
Похожие вопросы