StreamReader и Writer из списка

Вопрос 1: все, что пользователь вводит в текстовое поле, отображается в списке, но сначала отображается другой текст, а затем вводится пользователь в конце.

Вопрос 2: мой StreamReader / StreamWriter Я продолжаю получать код ошибки 1601 для новичков в C#, поэтому я не знаю всех терминов.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace foodOrderApp
{
    public partial class Form1 : Form
    {
        public Form1()
        {
             InitializeComponent();
             //textDialog = new SaveFileDialog();
             //textDialog.Filter = ""
        }

        private void addToListButton_Click(object sender, EventArgs e)
        {
            if (!System.Text.RegularExpressions.Regex.IsMatch(foodText.Text, "^[a-zA-Z]"))
            {
                MessageBox.Show("This textbox only accepts alphebetical characters");
            }
            else
            {
                displayFoodOrder.Items.Add(foodText.ToString());
            }
        }

        private void loadButton_Click(object sender, EventArgs e)
        {
            if (loadButton.ShowDialog() == DialogResult.OK)
            {
                StreamWriter sw = new StreamWriter(
                                    new FileStream(loadButton.FileName,
                                        FileMode.Create,
                                        FileAccess.ReadWrite)
                                    );

                sw.WriteLine(displayFoodOrder.Text);

                sw.Close();
            }
        }

        private void saveOrder_Click(object sender, EventArgs e)
        {
            if (saveOrder.ShowDialog() == DialogResult.OK)
            {
                StreamReader sr = new StreamReader(
                                new FileStream(saveOrder.FileName,
                                    FileMode.Open,
                                    FileAccess.Read)
                                    );

            }//end if
        }
    }
}

Ошибка:

CS1061 "Кнопка" не содержит определения для "FileName", и невозможно найти метод расширения "FileName", принимающий первый аргумент типа "Button" (вам не хватает директивы using или ссылки на сборку?)
линия 42

2 ответа

Я не очень понимаю ваш первый вопрос, какой другой текст появляется первым?

Что касается вашего второго вопроса, на самом деле есть и другие проблемы, которые, я думаю, у вас есть. Во-первых, вы используете:

if (loadButton.ShowDialog() == DialogResult.OK)

а также

if (saveOrder.ShowDialog() == DialogResult.OK)

Из того, что я могу сказать, это кнопки, которые вы нажимаете, которые не будут иметь ShowDialog метод.

Ошибка, которую вы на самом деле смотрите, связана с тем, что вы пытаетесь получить FileName свойство, от которого я все еще подозреваю, - кнопки (и поддержано сообщением об ошибке - 'Button' does not contain a definition for 'FileName'):

loadButton.FileName

а также

saveOrder.FileName

Я подозреваю, что вы на самом деле должны использовать это OpenFileDialog а также SaveFileDialog управления, но вы на самом деле ссылались на кнопки, которые вы нажимаете вместо этого.

Я верю, что Йонно прав насчет SaveFileDialog а также OpenFileDialog, При нажатии кнопки сохранения или загрузки вы должны открыть один из этих диалогов и дождаться его результата. Тогда на все в порядке, вы можете сделать SomeFileDialog.FileName вместо loadButton.FileName

Ваш первый вопрос (если я правильно понял), что вы видите материал + то, что ввел пользователь.

Это потому что ты делаешь

displayFoodOrder.Items.Add(foodText.ToString());

вместо этого попробуйте

displayFoodOrder.Items.Add(foodText.Text);

Вы запускаете весь элемент управления, а не только текст в его текстовом поле.

Кроме того, в качестве примечания, ваше регулярное выражение соответствует первому символу из-за ^ и не все персонажи. Ты можешь использовать . если вы хотите, чтобы любой персонаж был [a-zA-Z]

Другие вопросы по тегам