106.04.10 C#相對路徑

感覺網路上查的都沒有很清楚
而且大部分都有用有點複雜的方法
那時候上課C#找相對路徑的圖片狂吐FileNotFoundException
就來記錄個簡單一點的OuO



首先此範例為在Form1拉一個PictureBox名稱叫pictureBox1
並把pictureBox1的Dock設成Fill (填滿Form1)
點一下pictureBox1會載入圖片
執行成功如下

一、預設路徑在bin的Debug裡
所以若圖片放在Debug裡,直接打名稱就好
Image img = Image.FromFile("1.jpg");

二、bin裡
要返回上一層需要使用..
Image img = Image.FromFile("../1.jpg");

三、bin外,同理
Image img = Image.FromFile("../../1.jpg");

四、bin外的img資料夾裡 (我是較常使用這個)
Image img = Image.FromFile("../../img/1.jpg");


使用法四的Form1.cs完整程式碼 (更完整在此):
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace PathTest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {
            Image img = Image.FromFile("../../img/1.jpg");
            pictureBox1.Image = img;
            pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
        }
    }
}


圖片來源:
https://unsplash.com/@corinnekutz?photo=tMI2_-r5Nfo

沒有留言:

張貼留言

^ Top