从带有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);
}
任何帮助都很好。
谢谢
如果你想让它出现在"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);
}