作为我工作的一部分,我正在尝试编写一个基于 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();
}
将窗口置于最前面后,我希望从字符串变量中调用数据并让它按下“Enter”键
希望我已经清楚地说明了我要做什么。
谢谢大家
最佳答案
在您的 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();
}
关于C# 从文本框中存储一个字符串值并调用该变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5785830/