我已将所有启动程序添加到列表框中。 当我选择项目并单击按钮时,如何打开文件?
列表框代码:
private void readfiles()
{
string startfolder = Environment.GetFolderPath(Environment.SpecialFolder.Startup);
var files = Directory.GetFiles(startfolder).Where(name => !name.EndsWith(".ini"));
foreach (string file in files)
{
startupinfo.Items.Add(System.IO.Path.GetFileName(file));
}
}
答案 0 :(得分:2)
我不知道您尝试打开的文件类型,但这是您获取所选项目的方式。
Dictionary<string, string> startupinfoDict = new Dictionary<string, string>();
private void readfiles()
{
string startfolder = Environment.GetFolderPath(Environment.SpecialFolder.Startup);
var files = Directory.GetFiles(startfolder).Where(name => !name.EndsWith(".ini"));
foreach (string file in files)
{
startupinfo.Items.Add(Path.GetFileNameWithoutExtension(file));
startupinfoDict.Add(Path.GetFileNameWithoutExtension(file), file);
}
}
private void button1_Click(object sender, EventArgs e)
{
if (listBox1.SelectedItem != null)
{
string s = listBox1.SelectedItem.ToString();
if (startupinfoDict.ContainsKey(s))
{
Process.Start(startupinfoDict[s]);
}
}
}
答案 1 :(得分:1)
获取当前选定的列表框项并假设应用程序已耦合到文件(扩展名使用):
Process.Start(fileName);
答案 2 :(得分:0)
您可以使用列表框的SelectedValue
属性获取所选项目。
您可以使用Process.Start
打开文件。
答案 3 :(得分:0)
您将启动一个新流程,声明要在按钮单击处理程序中执行/打开文件的路径:
Process.Start(@" <path to file> ");
如果列表框中的选定值是文件路径,则:
Process.Start(<name of list box>.SelectedValue);
编辑:
按如下方式更改foreach循环:
foreach (string file in files)
{
startupinfo.Items.Add(System.IO.Path.GetFullPath(file) + @"\" + System.IO.Path.GetFileName(file));
}