如何将表单中的文本返回到文本框C#?

时间:2014-07-30 19:24:43

标签: c# winforms textbox form-control

在我的C#程序中,我有一堆自动生成的文本框。在这些文本框中,我添加了一个单击事件,该事件启动带有三个下拉框的表单。用户为每个框选择一个值后,单击“确定”,该值将放在文本框中。

截至目前,点击事件触发正常,对话框出现。但是,单击“确定”后,数据永远不会放在文本框中。这是我的点击事件。

private void clickTextBox(object sender, EventArgs e)
        {
            //MessageBox.Show(connectString + " " + unit);
            frmPickOven f = new frmPickOven(connectString, unit);
            if (f.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }
            else
            {
                this.Text = "";
                Console.WriteLine("Before: " + this.Text);
                this.Text = f.Oven;
                Console.WriteLine("After: " + this.Text);
            }
        }

Before:始终为空白。

After:显示新值,但该值未写入文本框。

我刚刚意识到该值正在写入表单的标题。我以为this会引用任何称为函数的东西,但显然不是。如何设置调用函数的文本框的值?

2 个答案:

答案 0 :(得分:3)

该函数的sender参数是引发事件的控件。

((TextBox)sender).Text = ...

答案 1 :(得分:2)

this.Text此处指的是包含Form的{​​{1}}的标题。你应该把它改成

TextBox