从一个表单中的文本框中获取文本,然后将其插入另一个表单的文本框

本文关键字:表单 文本 然后 另一个 插入 取文本 获取 一个 | 更新日期: 2023-09-27 18:00:30

我对C#语言很陌生,所以请放松。我想问的很简单,但作为一个新手,我不知道该怎么做

我有两种表格:表格1和表格2。Form1是"默认"的,即打开应用程序时使用的Form1。我在第二个表单中有两个文本框和两个按钮(确定和取消)。在第一个表单中,我有一个按钮,当你点击它和一个文本框时,它会打开第二个表单。我试图从表单2中的这两个文本框中获取文本,并将其从表单1中放入文本框,但我没能做到。我希望当我在第二个表单中单击"确定"时,将表单2中这两个文字框中的文本从表单1放入文本框中,当我单击"取消"时,只需关闭表单2。你能帮我吗?

从一个表单中的文本框中获取文本,然后将其插入另一个表单的文本框

您可以在Form2中创建一个公共属性,该属性由Form1在按下按钮时设置。

public string TextValueFromForm1 { get; set; }

在Form Load事件中,您可以将文本框的值设置为属性的值。

表格2示例

public class Form2 : Form
{
    private TextBox textBox1;
    private TextBox textBox2;
    public string TextValue1 { get; set; }
    public string TextValue2 { get; set; }
    public Form2()
    {
        this.Load += new EventHandler((object sender, EventArgs e) =>
        {
            textBox1.Text = TextValue1;
            textBox2.Text = TextValue2;
        });
    }
}

如果我理解你的问题:
-Form2有2个文本框(textBox1textBox2)和2个按钮(btnOKbtnCancel
-如果按下btnOK,则将textBox1textBox2的值合并并传递给Form1
-如果按下btnCancel-不要传递任何数据

我的回答的简要描述:
它可以通过事件处理程序轻松实现,只需连接到OnFormClosing事件并从Form2 的预定义属性中读取数据

下面是一些代码来说明我的答案

Form1.cs

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            Form2 frm2 = new Form2();
            frm2.Show();
            frm2.FormClosing += new FormClosingEventHandler(frm2_FormClosing);
        }
        void frm2_FormClosing(object sender, FormClosingEventArgs e)
        {
            if ((sender as Form2).textData != null)
                textBox1.Text = (sender as Form2).textData;
        }
    }

Form2.cs

 public partial class Form2 : Form
    {
        public string textData;
        public Form2()
        {
            InitializeComponent();
        }
        private void btnOK_Click(object sender, EventArgs e)
        {
            textData = textBox1.Text + " " + textBox2.Text;
            this.Close();
        }
        private void btnCancel_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }