Щелкните элемент списка и отобразите текстовый файл в метках - PullRequest
0 голосов
/ 02 декабря 2018

Я застреваю, щелкая элемент списка (элементы в моем списке - это файлы .txt в папке) и отображая значения в файле .txt.Значения в файлах .txt разделены символом «,», и я хочу, чтобы каждый элемент Split отображался в метках на моей форме.мой путь к файлу: System.AppDomain.CurrentDomain.BaseDirectory + «данные». Мои имена файлов .txt - это имена выбранного элемента в моем списке.

У меня есть общее представление о том, что должно произойти, но японятия не имею, как выразить это в коде.Мой код:

private void custList_MouseClick(object sender, MouseEventArgs e)
    {
        string foldr = System.AppDomain.CurrentDomain.BaseDirectory + "data";
        string file = custList.SelectedIndex.ToString();

    }

Спасибо заранее

Ответы [ 2 ]

0 голосов
/ 02 декабря 2018

Прежде чем я продолжу отвечать на этот вопрос, пожалуйста, прочитайте Как спросить .Это поможет вам лучше понять это сообщество и задать лучшие вопросы (чтобы получить лучшую поддержку).Затем, сделайте некоторое исследование.На первый взгляд кажется, что вы просите кого-то сделать за вас домашнюю работу.В любом случае, я здесь не для того, чтобы быть жестким с тобой.Я укажу вам несколько вещей.Постарайтесь понять их и использовать их.

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

Начнем с вашего текстового файла.Как вы упомянули, он содержит значений .C #, будучи универсальным и зрелым языком, имеет множество встроенных функций, методов и классов, которые помогут улучшить ваш опыт программирования.Такой метод - ReadAllText , часть класса File.Проще говоря, этот метод открывает текстовый файл, читает его, возвращает его значение.Пример использования этого метода может быть следующим:

string TextFromFile = File.ReadAllText(File_Path_Goes_Here);

Продолжение ... Ваш текстовый файл имеет несколько значений , разделенных запятой (,) .В таких случаях каждое значение необходимо читать как отдельное значение при получении или отображении.Итак, вы хотите List значений, конец истории.В C # у вас есть широкий выбор общих списков для использования.Поскольку значения в текстовом файле являются простыми строками, вы можете использовать List<string> в этом отношении.Пример базового использования List<string>:

List<string> TestList1 = new List<string>();
TestList1.Add("First Value"); TestList1.Add("Second Value");

///or
List<string> TestList1 = new List<string>(){ "First Value", "Second Value" };

В вашем конкретном случае, File.ReadAllLines заслуживает примера.Метод открывает текстовый файл, читает его, закрывает его.Конечно, он возвращает значение, прочитанное из текстового файла, в виде массива.Таким образом, при передаче значений в общий список вы можете просто использовать этот метод.Пример:

 ...... new List<string>(File.ReadAllLines(Path_Of_File_Goes_Here));

Единственный поворот здесь заключается в том, что значения в вашем текстовом файле находятся в строке (возможно) , а также разделяются запятой .Итак, что вы думаете, должно работать здесь?ReadAllText или ReadAllLines?Я оставлю это на ваше усмотрение.

Как только значения будут считаны из файла, мы можем использовать функцию Split для разделения значений при каждом появлении запятой (,).Простой пример:

List<string> NameList = "Josh,Riley".Split(',').ToList<string>();

И последний, но не менее важный заголовок вопроса, который, похоже, не имеет никакого отношения к самой публикации, вот что вы можете посмотреть:

Событие щелчка элемента управления

ListBox.GetItemText

Совет: Свойство SelectedItem объектаListBox class возвращает или устанавливает выбранный элемент списка.

Надеюсь, это было полезно.Обратите внимание на все, что упомянуто выше.Сначала это может быть немного сложно, но помните: Последовательность является отличительной чертой невообразимого .

.... Да, это не моя цитата.Попался!

0 голосов
/ 02 декабря 2018

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

Чтобы получить значения из вашего файла:

public string[] GetValues()
{
    string[] values;
    using(StreamReader sr = new StreamReader(Path.Combine(foldr, file))
    {
        string text = sr.ReadToEnd();
        values = text.Split(',');
    }
    return values;
}

Затем вы можете показать их, используя массив:

public void Main()
{
    string[] values = GetValues();
    foreach(var value in values)
    {
        Console.WriteLine(value);
    }
}

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...