我的Windows应用程序中使用c#有三个表单。我想访问从表单1到其他表单(2,3)的值。意味着在表单1上获取值并使用简单函数将此值访问到其他页面。 表单设计是,
在空白文本框中,user以字符串形式给出值,并将其存储在另一个字符串变量中。代码如下所示;
public string comp="";
private void button4_Click(object sender, EventArgs e)
{
comp = textBox1.Text;
}
public string getcomp()
{
return comp;
}
上面的getcomp()函数在Button Click事件上访问Form 2和Form 3。 请帮我解决这些问题。
答案 0 :(得分:0)
试试这个:
Form1中
public static string comp
;
Form2 MessageBox.show(Form1.comp);
答案 1 :(得分:0)
您正尝试从 form2 调用 form1 中定义的函数getcomp()
,对吗?
该函数已声明为public
,表示其他表单可见。因此,通过调用form1.getcomp()
,您可以触发它并从任何其他表单获取返回值。这当然只有在您的应用程序中有 form1 的实例时才有效!
如果没有,例如,如果您在打开/显示 form2 后处理了 form1 ,则无法像这样到达,因为没有任何对象可以调用该函数。要仍然这样做,您可以将getcomp()
声明为static
。即使存在没有form1的实例,这样做也会使该功能对所有其他表单可见。
但由于该功能与任何形式都没有真正的关系,我强烈建议将它放在另一个类中,所有表格都可以达到。
随意阅读一些有关变量范围的教程。
答案 2 :(得分:0)
试试这个。在form2中声明一个新变量,您可以在其中放置来自form1的string comp的值。
String comp2;
Form1 form1 = new Form1();
comp2 = form1.comp;