从一种形式访问各种形式的价值

时间:2016-04-27 05:10:24

标签: c# datagridview

我的Windows应用程序中使用c#有三个表单。我想访问从表单1到其他表单(2,3)的值。意味着在表单1上获取值并使用简单函数将此值访问到其他页面。 表单设计是,

enter image description here

在空白文本框中,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。 请帮我解决这些问题。

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;