在Windows窗体中删除文本框中的上一个条目

时间:2019-06-12 17:14:12

标签: c# winforms

我创建了一个登录和注册表格。 当我在第三个文本框中键入文本时,前两个文本框中的文本会消失。

这是为了检查在文本框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");

2 个答案:

答案 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");
    }