Нет нельзя. Словарь - это Key, Value список. Если по ключу нужно хранить несколько значения, то создай, например, структуру и храни её как value.
public struct MyStruct
{
public int ID;
public string FIleName;
}
MyStruct myFile = new MyStruct();
myFile.ID = 1;
myFile.FileName = "File.png";
var dictionary = new Dictionary<string, MyStruct> {
"Файл1" , myFile
}
Перед всем этим, попробуй FMX в Delphi. Где кроссплатформенный подход позволяет создавать 3D разными способами, переключая флаги. Сможешь строить сцену в дизайнтайме и если нужно использовать низкоуровневый подход, писать и компилить шейдеры и прочее. TChart и под FMX адаптировали с большими плюшками. Слоистые окна и рендеринг 3D хоть поверх рабочего стола с полупрозрачностью.
Потому что компонент ProgressBar стилем ОС заполняется плавно. Т.е. не может превышать некоторую штатную скорость заполнения. Даже если ты задашь значение 0, а затем сразу 100, то заполняться он будет почти секунду. Если хочешь показать "реальную" скорость заполнения - нарисуй свой. Например, просто помести пару прямоугольников на форму. Основной - рамка прогрессбара и Внутренний, который будет служить заполнением. Внутреннему прямоугольнику задавай размер исходя из процентов заполнения "прогрессбара".
И совет: прогрессбар всегда должен иметь Максимальный размер значений - 100. Т.е. 100%. Не задавай абсолютные значения пределу и минимуму. Всегда работай с процентами.
WinRAR использует шаблон ехе. Один и тот же исполнительный файл. Добавляет к нему ресурсы и информацию, которую вы заполнили в "Мастере".
Для решения вашей "задачи", достаточно одной программы, которая принимает аргументы запуска. Из аргументов берётся название кнопки. Готово. Так что, либо описывайте задачу подробнее, либо изучайте сами. Вопрос звучит достаточно глупо в контексте программирования.