C#表单和文本框

时间:2015-07-14 14:19:44

标签: c# forms textbox

当我点击form1中的按钮时,如何在form2中访问文本框?

我想在form1点击按钮后在form2中的textBox中写一个特定的文字,然后它自行关闭。

1 个答案:

答案 0 :(得分:1)

正如我猜测你可以解决你的问题

Form1.cs

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
    private void button1_Click(object sender, EventArgs e)
    {
        LaunchForm2();
    }
    private void LaunchForm2()
    {
        using (var form2 = new Form2())
        {
            form2.OnTextEnteredHandler += Form2_OnTextEnteredHandler;
            form2.ShowDialog();
        }
    }

    private void Form2_OnTextEnteredHandler(string text)
    {
        //This event will be fire when you click on button on form2
        textBox1.Text = text;
    }
}

Form2.cs

public partial class Form2 : Form
{
    public delegate void TextEnteredHandler(string text);
    public event TextEnteredHandler OnTextEnteredHandler;
    public Form2()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        if (OnTextEnteredHandler != null)
        {
            OnTextEnteredHandler(textBox1.Text);
            Close();
        }
    }
}

您还需要在表单2中添加文本框,从表单2中将文本放入其中,然后单击按钮,如代码所示。