我正在制作烹饪书籍Windows项目,我准备了一些 .rtf 文件,以便在RichTextBox
中加载它。
问题是文件的路径不能在任何计算机上工作,只有我的。
我使用的代码:
richTextBox1.LoadFile("C:\\Users\\nardeen\\Desktop\\cookproject\\cookingproject\\italian.rtf", RichTextBoxStreamType.RichText);
另外我试过这个但是没有用:
string FilePath = System.Windows.Forms.Application.StartupPath + "\\italian.rtf";
richTextBox1.LoadFile(FilePath, RichTextBoxStreamType.RichText);
答案 0 :(得分:1)
请勿将StartupPath
或CurrentDirectory
用于用户数据;这将根据您的应用程序的安装方式而改变,标准用户将无法写入,并且如果用户修复其应用程序,它可能会被删除。
如果您尝试获取用户可以读取和写入的文件夹的路径,并且在卸载或修复应用程序时不会删除该文件夹,请使用
string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),
"cooking project", "Italian.rtf");
如果要为用户包含一些启动数据,请将其作为资源或嵌入文件包含在项目中,并在安装应用程序时将其复制到用户文件夹。如果您告诉我们您使用的安装程序技术,我们也可以就此提供建议。
答案 1 :(得分:0)
您可以使用System.IO.Directory.GetCurrentDirectory()获取.exe所在文件夹的文件路径
Application.StartUpPath包含字符串中的实际program.exe(即C:\ Program \ Program.exe而不是C:\ Program)