有人可以告诉我为什么此代码不起作用吗?
private void button1_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start(@"Z:\em\zud\"+comboBox1.SelectedValue+"\flag.xlsx");
}
我想使用组合框的选定项目并将其插入路径的中间以打开文件。我敢打赌,这是一个简单的错误,但我一直在努力找出答案
答案 0 :(得分:1)
我们不知道您的comboBox1数据源是什么。但是,基本上,您忘了在字符串文字前添加@使其变得冗长:
“ \ flag.xlsx”应为:
@“ \ flag.xlsx”
否则,您要输入\ f(转义)。
注意:您可能使用过:
Path.Combine(@"Z:\em\zud", comboBox1.SelectedValue, "flags.xlsx");
答案 1 :(得分:1)
您应该在添加ComboBox值后尝试添加@:
System.Diagnostics.Process.Start(@"Z:\em\zud\"+comboBox1.SelectedValue+@"\flag.xlsx");
或者您可以看一下:
System.IO.Path.Combine
答案 2 :(得分:0)
尝试破坏您的进程,然后可以逐行对其进行调试,以查看错误之处。
我认为根本原因应该在于填充ComboBox,您可能需要使用SelectedItem。使用绑定时应使用SelectedValue。
示例:
string selectedItem = comboBox1.SelectedItem as string;
string path = Path.Combine(@"Z:\em\zud\", selectedItem, "flag.xlsx");
System.Diagnostics.Process.Start(path);