2010-04-13 1 views
0

У меня есть кнопка выбора файла gtk в моем приложении. Я пишу в C# с помощью Mono Develop. Я хотел бы установить расположение по умолчанию файла выбора в домашний каталог пользователей, независимо от того, какой пользователь его запускает.Как установить кнопку выбора файла gtk по умолчанию в домашнюю папку пользователя

Я пробовал ~/короткую порезку - fchFolder1.SetCurrentFolder ("~ /"); - но это не сработало. Мне просто интересно, было ли значение, которое выбирал gtk-файл для ссылки на домашнюю директорию пользователей? Спасибо

ответ

0

В Unix, вы можете либо получить переменную HOME среды или использовать System.Environment.GetFolderPath (System.Environment.SpecialFolder.Personal).

В Windows развернуть %HOMEDRIVE%%HOMEPATH%, чтобы получить каталог «home», или использовать тот же самый вызов GetFolderPath, чтобы получить каталог «Мои документы».

Дискуссия о HOME и HOMEDRIVE + HOMEPATH подход: Getting the path of the home directory in C#?

+0

Спасибо, я использовал код ссылки на обсуждение вы публикуемую :) только в случае, если кто-либо другой имеет такую ​​же проблему, которую я использовал следующий код, чтобы сделать это кросс-платформа: string homePath = (Environment.OSVersion.Platform == PlatformID.Unix || Environment.OSVersion.Platform == PlatformID.MacOSX) ? Environment.GetEnvironmentVariable ("HOME") : Environment.ExpandEnvironmentVariables ("% HOMEDRIVE %% HOMEPATH%"); – Connel

1

В C, можно было бы использовать g_get_home_dir(), чтобы найти домашний каталог пользователя, и установить текущее местоположение избранного файла, но, насколько я могу судить, эта функция не завершена в GTK #. Кто-то задал тот же вопрос, на GTK# mailing list и ответ был использовать

System.Environment.GetFolderPath (SpecialFolder.Personal)