谁能告诉我为什么这段代码不起作用?
private void button1_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start(@"Z:emzud"+comboBox1.SelectedValue+"flag.xlsx");
}
我想使用组合框的选定项并将其插入路径中间以打开文件。我敢打赌这是一个简单的错误,但我很难弄清楚
我们不知道您的 comboBox1 数据源是什么。但是,基本上您忘记在字符串文本前面添加@以使其冗长:
"\flag.xlsx"应为:
@"\标志.xlsx">
否则,您将请求 \f(已转义(。
注意:您可能使用过:
Path.Combine(@"Z:emzud", comboBox1.SelectedValue, "flags.xlsx");
您应该在添加 ComboBox 值后尝试添加 @,如下所示:
System.Diagnostics.Process.Start(@"Z:emzud"+comboBox1.SelectedValue+@"flag.xlsx");
或者你可以看看:System.IO.Path.Combine
尝试分解您的进程,然后您可以逐行调试它以查看它出错的地方。
我认为根本原因应该是填充组合框,您可能需要使用SelectedItem。使用绑定时应使用选定值。
例:
string selectedItem = comboBox1.SelectedItem as string;
string path = Path.Combine(@"Z:emzud", selectedItem, "flag.xlsx");
System.Diagnostics.Process.Start(path);