硬编码到相对路径

时间:2014-05-13 08:47:33

标签: c# winforms path relative hardcoded

我正在处理一个项目,点按一个按钮,我指定的文件夹的随机图像将显示在特定的图片框中。

这是我已经拥有的:

    namespace WindowsFormsApplication12
    {
public partial class Form1 : Form
{
    Random r = new Random();

    public Form1()
    {
        InitializeComponent();

    }

    private void button1_Click(object sender, EventArgs e)
    {

        pictureBox1.Image = Image.FromFile(r.Next(3).ToString() + ".jpg");
    }
}

现在我该如何为此添加相对路径?我的硬编码路径是c:/ users / ben / documents / visualstudio / projects / projectnet / resources / pictures。

提前致谢!

1 个答案:

答案 0 :(得分:0)

您可以在button1_Click处理程序中尝试此操作:

string imageFileName = r.Next(3).ToString() + ".jpg";
string basePath = @"c:\users\ben\documents\visualstudio\projects\projectnet\resources\pictures";

pictureBox1.Image = Image.FromFile(Path.Combine(basePath, imageFileName);

正如您对问题的评论中所提到的,如果您打算在非自己的计算机上运行应用程序,最好从外部源(即app.config)读取基本目录。