предыдущая запись в текстовом поле удаляется в форме окна - PullRequest
0 голосов
/ 12 июня 2019

Я создал форму для входа и регистрации.текст в первых двух текстовых полях исчезает, когда я набираю текст в третьем текстовом поле.

это означает, что пароль, введенный в текстовые поля 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 ]

2 голосов
/ 12 июня 2019

Вы, вероятно, хотите начать с изучения основных концепций программирования.

В одном из ваших комментариев к исходному сообщению вы говорите "я имею в виду, не прочитает ли содержимое текстового поля в файл?".

Однако две строки кода, на которые вы ссылаетесь, таковы:

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);

Но на самом деле, до этого вам, вероятно, следует изучить базовые концепции программирования и сначала изучить их.

0 голосов
/ 12 июня 2019

Используя 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");
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...