访问其他表单的价值

时间:2014-02-11 10:46:09

标签: c# winforms

我有2种形式,即Form1&窗体2。

在Form1中,我有一个名为“HumanName”的字符串,这个“HumanName”的值来自textbox.text。我还有一个名为Button1的按钮。

在Form2中,我有一个名为Label1的标签。

这就是我想要完成的。 当我按下/按下Button1时,Label1.Text=HumanName

Form1中:

HumanName = textbox.text, Button1

窗体2:

Label1.Text = HumanName

这是我的代码:

public partial class Form1 : Form
{
    private void PersonalInformationToForm2()
    {
        HumanName = textBox_Name.Text;
    }

    private void Button1_Click(object sender, EventArgs e)
    {           
        PersonalInformationToForm2();
    }
}

public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();

        Label1.Text=HumanName;   //I need the value of HumanName from Form1        
    }
}

4 个答案:

答案 0 :(得分:1)

在Form1上将控件封装在Property

public string GetTextboxText {get{ return Textbox1.Text;}}

另一种形式

var formOne = (Form1)Application.OpenForms["Form1"];
Label1.Text = formOne.GetTextboxText;

答案 1 :(得分:0)

为Form2创建一个带有HumanName的构造函数。

然后在Form1中按下按钮,创建一个新的表单实例并传入Textbox1.Text

答案 2 :(得分:0)

Form2中的

以下列方式创建构造函数

public void Form2(string name)
{
  Label1.Text=name;
}

来自Form1的Noe我们可以通过以下方式发送值

string HumanName=textbox.text;
Form2 frm2=new Form2(HumanName);
frm2.Show();

答案 3 :(得分:0)

为Form1创建一个可以为Form2访问的实例,您可以这样做:

public static Form2 Instance;

public Form2()
{
     InitializeComponent();
     Instance = this;
}

在属性中将Label1的修饰符设置为true。

在Form1上按下button1时,执行以下操作:

private void Button1_OnClick(object sender, EventArgs args)
{
    Form2.Instance.Label1.Text = textBox1.Text;
}