C#存储文本框中的字符串值并调用该变量

时间:2011-04-26 04:09:02

标签: c# winforms textbox

我正在尝试编写一个基于C#的winform,以便在我的工作中执行几个自动文本输入过程。我希望将某些内容输入文本框,这样我就不会手动操作了。

我能够将来自文本框的输入数据存储为字符串变量,但我希望知道如何在单击单独的文本框时调用它。这样就可以在一个盒子里“复制”数据并将其放在别处。

我不是100%确定这是字符串的存储方式,但这是我的尝试:

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        string chattextbox;
    }

我希望在

下面输入存储的字符串变量
private void button1_Click(object sender, EventArgs e)
{
    Application.OpenForms["Loginwindow"].BringToFront();
}

将窗口置于前面后,我希望从字符串变量中调用数据,并将其键入KeyPress“Enter”

希望我已经说明了我要做的事情。

全部谢谢

2 个答案:

答案 0 :(得分:6)

在TextChanged事件处理程序中,您声明了一个字符串变量,但此时您没有为其分配任何内容。要保存它,您需要这样做:

string chattextbox; // member variable or property in your class

private void textBox1_TextChanged(object sender, EventArgs e)
{
    chattextbox = textBox1.Text;
}

请注意,chattextbox必须是Form类中的成员变量,否则,如果您在方法范围内声明了变量(如代码中所示),则在方法返回时它将消失。

实际上你不需要以这种方式保存它,它几乎可以在表单的任何时候在textBox.Text值中访问。很多Winforms控件都有一个Text属性,它保存控件中显示的字符串值,无论是按钮,文本框,标签等。你很可能完全删除这个TextChanged处理程序,只需实现你的button1_Click(见下文)。

在你的button1_Click处理程序中,你可以获得这样的值。要将值传递给其他窗口,您需要在可以指定的其他窗口上使用属性,或者在显示之前需要在构造函数中传递它。

private void button1_Click(object sender, EventArgs e)
{
    Loginwindow.SomeProperty = textBox1.Text; // Set the string value on your other form somehow ???
    Application.OpenForms["Loginwindow"].BringToFront();
}

答案 1 :(得分:3)

在这里,您没有将字符串的值分配给字符串,只是初始化字符串变量。

Private Void textBox1_TextChanged(object sender, EventArgs e)
{
    string chattextbox;
    chattextbox=textBox1.Text;
}