C # Получение combobox.value для пути - PullRequest
0 голосов
/ 02 июля 2018

Может кто-нибудь сказать мне, почему этот код не работает, пожалуйста?

private void button1_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start(@"Z:\em\zud\"+comboBox1.SelectedValue+"\flag.xlsx");
        }

Я хочу использовать выбранный элемент комбинированного списка и вставить его в середину пути, чтобы открыть файл. Бьюсь об заклад, это простая ошибка, но я изо всех сил пытался понять это

Ответы [ 3 ]

0 голосов
/ 02 июля 2018

Вы должны попытаться добавить @ после добавления значения ComboBox следующим образом:

  System.Diagnostics.Process.Start(@"Z:\em\zud\"+comboBox1.SelectedValue+@"\flag.xlsx");

или вы можете взглянуть на: System.IO.Path.Combine

0 голосов
/ 02 июля 2018

попытайтесь сломать ваш процесс, затем вы можете отладить его построчно, чтобы увидеть, где он ошибся.

Я думаю, что основная причина должна заключаться в заполнении ComboBox, возможно, вам придется использовать SelectedItem. SelectedValue следует использовать при использовании привязки.

Пример:

    string selectedItem = comboBox1.SelectedItem as string;
    string path = Path.Combine(@"Z:\em\zud\", selectedItem, "flag.xlsx");
    System.Diagnostics.Process.Start(path);
0 голосов
/ 02 июля 2018

Мы не знаем, каков ваш источник данных comboBox1. Однако в основном вы забыли добавить @ перед строковым литералом, чтобы сделать его подробным:

"\ flag.xlsx" должно быть:

@ "\ flag.xlsx"

В противном случае вы запрашиваете \ f (сбежал).

Примечание. Возможно, вы использовали:

Path.Combine(@"Z:\em\zud", comboBox1.SelectedValue, "flags.xlsx");
...