Tôi cũng gặp vấn đề tương tự và tôi đã có thể vượt qua nó. Vì vậy, hãy để tôi giải thích các bước tôi đã áp dụng. Tôi sẽ giải thích nó theo kịch bản của bạn.
Theo phương pháp của tôi, chúng ta cần sử dụng lớp 'Path' và lớp 'Assembly' để có được đường dẫn tương đối.
Vì vậy, trước tiên hãy nhập System.IO và System.Reflection bằng cách sử dụng các câu lệnh.
Sau đó gõ dòng mã dưới đây.
var outPutDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly(). CodeBase);
Trên thực tế, dòng đã cho ở trên lưu trữ đường dẫn của thư mục đầu ra của dự án của bạn. (Ở đây thư mục 'đầu ra' đề cập đến thư mục Gỡ lỗi trong dự án của bạn).
Bây giờ sao chép thư mục FolderIcon của bạn vào thư mục Gỡ lỗi. Sau đó gõ Dòng dưới đây cho sẵn.
var iconPath = Path.Combine(outPutDirectory, "FolderIcon\\Folder.ico");
Bây giờ biến 'iconPath' này chứa toàn bộ đường dẫn của Folder.ico của bạn. Tất cả những gì bạn phải làm là lưu trữ nó trong một biến chuỗi. Sử dụng dòng mã dưới đây cho điều đó.
string icon_path = new Uri(iconPath ).LocalPath;
Bây giờ bạn có thể sử dụng biến chuỗi icon_path này làm đường dẫn liên quan đến biểu tượng.
Cảm ơn.