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

Kyl*_*yle 3 c# textbox winforms

我正在尝试编写一个基于C#的winform来做几个自动文本输入过程作为我工作的一部分.我希望将某些内容输入到文本框中,这样我就无法手动执行此操作.

我能够将来自文本框的输入数据存储为字符串变量,但我希望知道如何在单击单独的文本框时调用它.因此,在一个盒子中"复制"数据并将其放置在其他地方.

我不是100%确定这是字符串应该如何存储,但这是我的尝试:

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        string chattextbox;
    }
Run Code Online (Sandbox Code Playgroud)

我希望在下面输入存储的字符串变量

private void button1_Click(object sender, EventArgs e)
{
    Application.OpenForms["Loginwindow"].BringToFront();
}
Run Code Online (Sandbox Code Playgroud)

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

希望我已经说清楚我要做什么.

谢谢大家

And*_*ite 6

在TextChanged事件处理程序中,您声明了一个字符串变量,但此时您没有为其分配任何内容.要将其保存,您需要执行以下操作:

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

private void textBox1_TextChanged(object sender, EventArgs e)
{
    chattextbox = textBox1.Text;
}
Run Code Online (Sandbox Code Playgroud)

请注意,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();
}
Run Code Online (Sandbox Code Playgroud)