所以,我希望有任何帮助来填充一个显示网站名称的ListBox,如果点击它就转到特定网址。
这就是文本文件中的内容:
#first website
http://firstwebsite.com
#second website
http://secondwebsite.com
#third website
http://thirdwebsite.com
我可以读取文件并使用名称填充列表框,但不能使网址正常工作。
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);
}
任何帮助都很棒。
由于
答案 0 :(得分:1)
如果你想在“点击”事件中使用它,我的意思是当你点击项目时,下面的代码可以工作。
private void listBox1_Click(object sender, EventArgs e)
{
string str = ((ListBox)(sender)).Text;
Process.Start(str);
}
处理NULL条件和异常。
为“Process”添加System.Diagnostics名称空间。
答案 1 :(得分:0)
我已经创建了一个非常简单的控制台来测试它。 这就是我想出来的
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()
可以放在该列表框的任何事件处理程序中。 I.E SelectedIndexChanged 事件
private void _listBox1_SelectedIndexChanged(object pSender, EventArgs pArgs)
{
var selectedUrl = _listBox1.SelectedItem.ToString();
Process.Start(selectedUrl);
}