如何将对象数据传递到第二种形式的文本框中进行编辑?

时间:2014-04-22 10:38:32

标签: c# winforms forms object textbox

我对C#比较陌生,我可以帮助克服这个障碍。我有一个Windows窗体以及类,它将创建具有用户输入值的调用对象,并将它们添加到列表中。我想进行一个现有的调用,并以单独的形式在不同的文本框中显示其值,单击一个按钮时打开该单独的表单。我有一个FindCall'通过其“来电者姓名”在列表中查找所需电话的方法。和' phoneNumber'值。如果成功找到呼叫,它将显示编辑表单。这工作正常,表单打开,所以我知道找到调用的代码运行正常。但是我无法理解如何在该编辑表单的文本框中显示该调用对象的值。任何帮助将不胜感激。

由于

2 个答案:

答案 0 :(得分:0)

所以你有一个表格,让我们称之为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();
    }

答案 1 :(得分:0)

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

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

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;