如何将对象数据传递到第二个表单中的文本框中进行编辑

本文关键字:文本 编辑 表单 第二个 对象 数据 | 更新日期: 2023-09-27 17:59:16

我对C#还比较陌生,需要一些帮助才能克服这一障碍。我有一个windows窗体和到的类,它们将使用用户输入的值创建调用对象,并将它们添加到列表中。我想接受一个现有的调用,并在不同的文本框中以单独的形式显示它的值,当我单击按钮时会打开。我有一个"FindCall"方法,它通过其"callerName"answers"phoneNumber"值在列表中查找所需的调用。如果调用被成功找到,它将显示编辑表单。这很好,并且表单打开,所以我知道查找调用的代码运行正常。然而,我无法理解如何在编辑表单的文本框中显示该调用对象的值。如有任何帮助,我们将不胜感激。

感谢

如何将对象数据传递到第二个表单中的文本框中进行编辑

一个简单的方法是在第二个表单上创建一个属性。这将允许您在显示表单之前设置表单上的值,然后获取任何新值。

在编辑表单上有类似。。。

string SomeValue
{
    get { return SomeValueField.Text; }
    set { SomeValueField.Text = value; }
}

其中SomeValueField是编辑表单上的TextBox。

然后在调用表单中,您可以通过属性访问TextBox。。。

var editForm = new EditForm();
editForm.SomeValue = "...";
editForm.ShowDialog();
var newValue = editForm.SomeValue;

所以你有一个窗体,我们称之为Form1,它打开了一个新的窗体,我们用这样的东西称之为Form2。

    private void Button1_Click(object sender, EventArgs e)
    {
        Form2 _newForm = new Form2();
        _newForm.Show();
    }

你所需要做的就是在Form2中创建一个公共的void,它通过一个字符串来设置你的文本框的值,所以在Form2中你有:

    public void SetTextBox(string _txt)
    {
        TextBox1.Text = _txt;
    }

然后您将Form1代码更改为包含:

    private void Button1_Click(object sender, EventArgs e)
    {
        Form2 _newForm = new Form2();
        _newForm.SetTextBox("Your Text Here");
        _newForm.Show();
    }