从带有2个变量的文本文件中创建列表框项

本文关键字:创建 列表 文件 文本 2个 变量 | 更新日期: 2023-09-27 18:14:50

所以,我希望任何帮助填充一个ListBox,将显示一个网站的名称,如果它被点击到一个特定的url。

这是文本文件内部的内容:

#first website
http://firstwebsite.com
#second website
http://secondwebsite.com
#third website
http://thirdwebsite.com

我可以读取文件并用名称填充列表框,但不能使url工作。

FileOpenPicker picker = new FileOpenPicker();
picker.ViewMode = PickerViewMode.Thumbnail;
picker.SuggestedStartLocation = PickerLocationId.ComputerFolder;
picker.FileTypeFilter.Add(".txt");
StorageFile file = await picker.PickSingleFileAsync();
if (file != null)    {
    var stream = await file.OpenAsync(FileAccessMode.Read);
    using (StreamReader reader = new StreamReader(stream.AsStream()))
            {
                while (!reader.EndOfStream)
                {
                    string line = reader.ReadLine();
                    if (line.StartsWith("#") {
                        listbox.items.Add(line);
                    }

任何帮助都很好。

谢谢

从带有2个变量的文本文件中创建列表框项

如果你想让它出现在"Click"事件中,我的意思是当你点击Item时,下面的代码可以工作。

  private void listBox1_Click(object sender, EventArgs e)
    {
        string str = ((ListBox)(sender)).Text;
        Process.Start(str);
    }

处理NULL条件和异常。

添加系统。

我创建了一个非常简单的控制台来测试这一点。这是我想到的

    var _listBox1 = new ListBox();
    //just adding a url for example
    _listBox1.Items.Add("http://www.google.com");
    //here I am just setting the selected value
    _listBox1.SetSelected(0, true);
    var selectedUrl = _listBox1.SelectedItem.ToString();
    //this will start off the default web browser
    Process.Start(selectedUrl);

因此,Process.Start()可以放在该列表框的任何事件处理程序中。。E SelectedIndexChanged event

    private void _listBox1_SelectedIndexChanged(object pSender, EventArgs pArgs)
    {
        var selectedUrl = _listBox1.SelectedItem.ToString();
        Process.Start(selectedUrl);
    }