Получить значения из элемента управления в form1 в новую форму C # - PullRequest
1 голос
/ 15 октября 2011

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

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

Форма 1:

public List<string> returner()
{
    List<string> thevalues = new List<string>();

    thevalues.Add(textbox1.Text);
    thevalues.Add(textbox2.Text);

    return thevalues;
}

Форма 2:

Form1 x = new Form1();

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

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

Ответы [ 2 ]

1 голос
/ 15 октября 2011

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

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

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

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

0 голосов
/ 15 октября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...