我创建了一个登录和注册表格。 当我在第三个文本框中键入文本时,前两个文本框中的文本会消失。
这是为了检查在文本框2和3中输入的密码是否相同。如果相同,则将其写入文件,否则显示消息框。
private void TextBox3_TextChanged(object sender, EventArgs e)
{
if (textBox2.Text == textBox3.Text)
{
FileStream register = new FileStream("store.txt",
FileMode.Append, FileAccess.Write);
StreamWriter open = new StreamWriter(register);
textBox1.Text = Console.ReadLine();
textBox2.Text = Console.ReadLine();
open.WriteLine(textBox1.Text);
open.WriteLine(textBox2.Text);
open.Close();
register.Close();
}
else
MessageBox.Show("something went wrong");
答案 0 :(得分:2)
您可能希望首先学习基本的编程概念。
在您对原始帖子的评论中,您说“我的意思是,它不会将文本框的内容读入文件吗?”。
但是,您所指的两行代码是:
textBox1.Text = Console.ReadLine();
textBox2.Text = Console.ReadLine();
在任何类型的编程中,赋值的工作方式是将=
符号右侧的内容放入其左侧的内容。因此,以下表示将值5
放入变量abc
:
int abc = 5;
按照相同的想法,在您的代码中:
textBox1.Text = Console.ReadLine();
这意味着ReadLine()
返回的任何函数都将放入textBox1.Text
中。在这种情况下,Console.ReadLine()
返回一个空字符串,该字符串被放入文本框文本中,这就是为什么文本如您所声称的那样“消失”了。
因此,要回答您的问题,您应该有此内容,但删除上面的两个Console.ReadLine()
语句。
open.WriteLine(textBox1.Text);
open.WriteLine(textBox2.Text);
但是,实际上,在那之前,您可能应该学习基本的编程概念,并优先考虑这些概念。
答案 1 :(得分:0)
使用Console.Readline(),用空文本覆盖那些文本框。
private void TextBox3_TextChanged(object sender, EventArgs e)
{
if (textBox2.Text == textBox3.Text)
{
FileStream register = new FileStream("store.txt",
FileMode.Append, FileAccess.Write);
StreamWriter open = new StreamWriter(register);
open.WriteLine(textBox1.Text);
open.WriteLine(textBox2.Text);
open.Close();
register.Close();
}
else
MessageBox.Show("something went wrong");
}