我正在尝试在新表单上创建一个click事件,该事件获取form1
中控件的text属性。
我创建了一个公共方法,它返回我需要的值,但返回的值始终为null。我到处寻找这个。
Form1中:
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];
我的问题是没有返回值,因为Im声明了Form1
的新实例,而不是使用其中包含值的实例(我猜)。
答案 0 :(得分:1)
是的,这可以解释出现了什么问题。基本上你需要告诉Form2有关Form1的相关实例。具体如何做到这一点将取决于构建一切的内容。例如,您可能有:
Form1 form1 = new Form1();
Form2 form2 = new Form2();
form2.Form1 = form1;
或者您可以将构造函数中的引用传递给Form2
。
如果那些确实是你的表单的名字,顺便说一句,我强烈建议你将它们重命名为更有意义的东西 - 表示表单目的的东西。同样returner
不仅违反了.NET命名约定,而且也没有解释它正在做什么。
答案 1 :(得分:0)
你搞砸了你的代码..如果你想得到一个文本的值,就这样使用它。 string textValue = form1.textbox1.Text
或..因为你没有在这里发布完整的代码..试试这个而不是创建对象form1.returner();