sizeof (Массив) ищется во время компиляции, не во время выполнения. Информация не хранится.
Вы, возможно, Интересуются реализацией проверки границ? Если так, существует много различных способов пойти об этом.
Вам может понадобиться чтобы объединить это с System.AppDomain.CurrentDomain.BaseDirectory.
Я бы предположил, что FromFile относится к текущему рабочему каталогу, который подвержен изменениям. Еще одна вещь, которую следует учитывать, - это встраивание изображений в сборку
Попробуйте добавить текущий рабочий путь:
smallImageList.Images.Add(Image.FromFile(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, ConfigurationSettings.AppSettings["doc"])));
Попробуйте использовать тильду ...
value="~\Icons_Microsoft Office Excel 97-2003 Worksheet.ico"
которая должна запускать вас из корня приложения.
Ваша рабочая папка каким-то образом была изменена во время выполнения программы, вам нужно найти свой собственный путь.
Попробуйте следующее:
using System.Reflection;
string CurrDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
smallImageList.Images.Add(Image.FromFile(Path.Combine(CurrDirectory,ConfigurationSettings.AppSettings["doc"])));