Charge picturebox image en C# à partir d'un fichier dans le chemin d'accès relatif

J'ai un picturebox image dans un Formulaire Windows Solution. Après que l'utilisateur sélectionne un élément dans une base de données, je veux charger une image dans ce picturebox. Le nom de fichier de l'image viendra de la base de données et toutes les images doivent être stockées dans un sous-dossier du dossier de l'application (\Images).
Je ne veux pas d'inclure tous ces (2000-3000 images) dans ma solution, en outre, de plus les images seront ajoutées par les utilisateurs de la base de données augmente.
Aussi, je ne veux pas de code d'un chemin d'accès absolu. Donc ce n'est pas ce que je veux:

pictureBox.Image = Image.FromFile(@"C:\Program Files\Application\Images\" + dbase.filename);

Je veux le code d'un chemin relatif au dossier de l'image, de sorte que peu importe où l'application sera installée, les images peuvent être chargées à partir de ce sous-dossier.
J'ai essayé des choses comme celles-ci, à l'aide d'un test temporaire-image appelée "test.jpg":

pictureBox.Image = Image.FromFile(@"Images\test.jpg");
pictureBox.Image = Image.FromFile(@"..\Images\test.jpg");
pictureBox.Image = Image.FromFile(@"|DataDirectory|\Images\test.jpg");

Mais cela ne fonctionne pas. Je ne peux que le faire fonctionner avec un chemin absolu, comme "C:\Images\test.jpg". Que dois-je faire?

Le problème est que le répertoire courant n'est pas ce que vous attendez. Jeter dans un MsgBox(Environment.CurrentDirectory) pour voir ce qu'il est réellement.
Merci de souligner ce point, Ross. Ressemble à la CurrentDirectory est ..\bin\Debug. Quand je place mon dossier Images dans et exécuter mon code avec un contrôle pictureBox.Load ("./Images/test.jpg"), il fonctionne. Cependant, lorsque je publie mon projet et de l'installer, il ne trouve pas le dossier Images partout où je le place à l'intérieur du dossier de l'application. Le CurrentDirectory points abstraite sous-dossier de C:\Users\AppData\Local\Apps\etc.

OriginalL'auteur Ivo77 | 2014-07-15