我正在尝试编写一个基于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”
希望我已经说明了我要做的事情。
全部谢谢
答案 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;
}