C# 如何将地址添加到我的项目中

C# 如何将地址添加到我的项目中,c#,winforms,C#,Winforms,我做了一个完整的C#WinForm项目。当我工作时,我给了我的flash文件一个完整的地址,并这样称呼它们: flashForm.MOVIE = @"D:\poem.swf"; 但是,当我想按照我希望的方式构建我的项目时,它们将与我的exe设置位于同一文件夹中 我删除了地址并编写了如下代码,以便在其旁边找到flash文件,如下所示: flashForm.MOVIE = "poem.swf"; 我认为这是个错误。如何为这行代码提供用户设置的地址? 谢谢你的帮助 string directory

我做了一个完整的C#WinForm项目。当我工作时,我给了我的flash文件一个完整的地址,并这样称呼它们:

flashForm.MOVIE = @"D:\poem.swf";
但是,当我想按照我希望的方式构建我的项目时,它们将与我的exe设置位于同一文件夹中 我删除了地址并编写了如下代码,以便在其旁边找到flash文件,如下所示:

flashForm.MOVIE = "poem.swf";
我认为这是个错误。如何为这行代码提供用户设置的地址? 谢谢你的帮助

string directory = AppDomain.CurrentDomain.BaseDirectory;
这将为您提供应用程序的目录。然后可以使用
Path.Combine(目录,文件名)
获取文件。在您的示例中:

string movieName = "poem.swf";
string pathToMovie = Path.Combine(directory, movieName);
正如我所说的:只有将文件
poem.swf
存储在与应用程序相同的目录中,这才是正确的


如果应用程序中没有存储文件,则需要找到另一种查找方法。正如makc在他的评论中所说,您可以通过注册表来执行此操作,或者让用户选择要查看的位置。

您针对的是哪种应用程序?WinForm、WPF、ASP.Net?这是一个WinForm项目请参见:使用应用程序的工作目录,或者如果您希望用户在安装过程中选择此路径,请添加注册表键,您认为我已经编写了以下代码行:?flashForm.MOVIE=AppDomain.CurrentDomain.BaseDirectory+@“\poem.swf”;这取决于您存储文件的确切位置。如果它在应用程序的某个地方,这将为您提供起始目录。我用一个例子更新了我的答案。