Решение здесь представляет собой комбинацию того, что сказали все остальные.
Как уже указывалось, эта строка:
file_name = (string)combobox1.SelectedValue;
неправильно выполняет задание (=
) вместо конкатенации (+=
).Это означает, что если comboxbo1.SelectedValue
равно null
, ваш путь становится \.
, который является корневым каталогом диска.
Вы должны помнить, что для SelectedValue
допустимо быть null
, потому что поле со списком может иметь пустой выбор.Вам нужно разобраться с этим случаем, возможно, отключив функцию сохранения до тех пор, пока в выпадающих списках не будет допустимых значений.
На самом деле это не проблема с разрешениями;маловероятно, что вам на самом деле нужно или намереваетесь писать в корневой каталог, именно поэтому вы не получили такого разрешения.