C# 如何将gtk文件选择器按钮默认设置为用户';s主文件夹

C# 如何将gtk文件选择器按钮默认设置为用户';s主文件夹,c#,mono,gtk,default,filechooser,C#,Mono,Gtk,Default,Filechooser,我的应用程序上有一个gtk文件选择器按钮,我正在使用Mono Develop用c#编写。我想将文件选择器的默认位置设置为用户的主目录,而不管运行它的是什么用户 我已经尝试了~/shortcut-fchFolder1.SetCurrentFolder(“~/”)但这并不奏效。我只是想知道是否有gtk文件选择器用来引用用户主目录的值?感谢在C中,可以使用g_get_home_dir()查找用户的主目录,并将文件选择器的当前位置设置为该位置,但据我所知,该函数没有包装在GTK中。有人在网上问了同样的问

我的应用程序上有一个gtk文件选择器按钮,我正在使用Mono Develop用c#编写。我想将文件选择器的默认位置设置为用户的主目录,而不管运行它的是什么用户


我已经尝试了~/shortcut-fchFolder1.SetCurrentFolder(“~/”)但这并不奏效。我只是想知道是否有gtk文件选择器用来引用用户主目录的值?感谢

在C中,可以使用
g_get_home_dir()
查找用户的主目录,并将文件选择器的当前位置设置为该位置,但据我所知,该函数没有包装在GTK中。有人在网上问了同样的问题,答案是使用

System.Environment.GetFolderPath (SpecialFolder.Personal)

在Unix中,您可以获取HOME环境变量,也可以使用
()

在Windows中,展开
%HOMEDRIVE%%HOMEPATH%%
以获取“主”目录,或使用相同的
GetFolderPath
调用获取“我的文档”目录


关于HOME和HOMEDRIVE+HOMEPATH方法的讨论:

谢谢,我使用了您发布的讨论链接上的代码:)以防万一其他人也有同样的问题,我使用了以下代码使其跨平台:字符串HOMEPATH=(Environment.OSVersion.PlatformID==PlatformID.Unix | | | Environment.OSVersion.Platform==PlatformID.MacOSX)?Environment.GetEnvironmentVariable(“HOME”):Environment.ExpandEnvironmentVariables(“%HOMEDRIVE%%HOMEPATH%”);