如何在 C# 应用程序中使用解决方案资源管理器文件
How to use solution explorer files in c# application
我用 c# 开发了一个小应用程序。在此应用程序中,我在解决方案资源管理器中添加了一个名为 Data.txt 的文本文件和包含大约 20 张编号为 1 - 20 的图像的文件夹,以便这些图像对用户隐藏并嵌入到应用程序中。我已将这些文件属性设置为 "None" 和 CopyToOutput "false"(也尝试将 属性 设置为 "Content")。
问题是,当我在包含我的项目和文件的 Windows 8.1 笔记本电脑上调试我的程序时,它运行良好,但是当我尝试 运行 发布文件时(也尝试过调试文件)在我的 Win 7 Home Basic 台式电脑上,它停止工作(意味着它不加载这些文件)。这是我的代码:
// Code to change images in picture box after small interval of time
private void timer1_Tick(object sender, EventArgs e)
{
try
{
if (Angle > 20)
{
Angle = 1;
}
picBackground.BackgroundImage.Dispose();
picBackground.BackgroundImage = new Bitmap("../../" + Angle + ".png");
Angle += 5;
}
catch
{ }
}
// Here is constructor of the class
public RateFiles()
{
try
{
string[] data = File.ReadAllLines("../../Data.txt");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString(), "Error");
}
// Object loads the strings
obj.LoadData(data);
}
图片框背景需要在 1 秒后更改,但它不起作用并且 File.ReadAllLines("../../Data.txt") 出现错误 "Could not find file 'C:\Users\Dell\Data.txt'" .
我该如何解决这个问题?
问题是您试图访问这些文件,就好像您在程序集外部分发文件一样,并将它们设置为不复制,这会将它们从要分发的文件中排除。
要执行您想要的操作,您需要将文件设置为资源,然后在您的应用程序中按原样访问它们。尝试以下 link 以了解如何使用 VS 在 C# 中创建和访问资源。
https://msdn.microsoft.com/en-us/library/7k989cfy%28v=vs.90%29.aspx
我用 c# 开发了一个小应用程序。在此应用程序中,我在解决方案资源管理器中添加了一个名为 Data.txt 的文本文件和包含大约 20 张编号为 1 - 20 的图像的文件夹,以便这些图像对用户隐藏并嵌入到应用程序中。我已将这些文件属性设置为 "None" 和 CopyToOutput "false"(也尝试将 属性 设置为 "Content")。
问题是,当我在包含我的项目和文件的 Windows 8.1 笔记本电脑上调试我的程序时,它运行良好,但是当我尝试 运行 发布文件时(也尝试过调试文件)在我的 Win 7 Home Basic 台式电脑上,它停止工作(意味着它不加载这些文件)。这是我的代码:
// Code to change images in picture box after small interval of time
private void timer1_Tick(object sender, EventArgs e)
{
try
{
if (Angle > 20)
{
Angle = 1;
}
picBackground.BackgroundImage.Dispose();
picBackground.BackgroundImage = new Bitmap("../../" + Angle + ".png");
Angle += 5;
}
catch
{ }
}
// Here is constructor of the class
public RateFiles()
{
try
{
string[] data = File.ReadAllLines("../../Data.txt");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString(), "Error");
}
// Object loads the strings
obj.LoadData(data);
}
图片框背景需要在 1 秒后更改,但它不起作用并且 File.ReadAllLines("../../Data.txt") 出现错误 "Could not find file 'C:\Users\Dell\Data.txt'" .
我该如何解决这个问题?
问题是您试图访问这些文件,就好像您在程序集外部分发文件一样,并将它们设置为不复制,这会将它们从要分发的文件中排除。
要执行您想要的操作,您需要将文件设置为资源,然后在您的应用程序中按原样访问它们。尝试以下 link 以了解如何使用 VS 在 C# 中创建和访问资源。
https://msdn.microsoft.com/en-us/library/7k989cfy%28v=vs.90%29.aspx