如何将对象数据传递到第二个表单中的文本框中进行编辑
本文关键字:文本 编辑 表单 第二个 对象 数据 | 更新日期: 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();
}