. Якщо потрібна запис в реєстрі не знайдена, то за замовчуванням повертається значення «Не обрано»
lbl=rk.GetValue («currentFolder» + btn.Name, «Не вибрано»). ToString () ;/ / отримали
/ / Привласнюємо напис кнопке.Label=lbl ;/ / записали в список ім'я папки
/ / Якщо папка задана, то виконуємо наступний код
if (lbl!=«Не вибрано»)
{
/ / Отримуємо інформацію про папку
DirectoryInfo di=new DirectoryInfo (lbl);
/ / Отримуємо список файлів у цій папці
FileInfo [] files=di.GetFiles ();
/ / Для кожного знайденого файлу виконуємо тіло циклу
foreach (FileInfo file in files)
{
/ / якщо файл - не зображення, то при приведенні типів вилетить OutOfMemory
System.Drawing.Image img; {img=System.Drawing.Image.FromFile (file.FullName); } (OutOfMemoryException) {continue;/* Беремо наступний файл * /}
if (j <20) / / так як кнопок в групі всього 20
{k=20 * i + j ;/ / обчислення в якій групі і яку кнопку треба показати
/ / Робимо кнопку видимої
buttons [k]. Visible=true;
/ / Привласнюємо кнопці знайдене зображення
buttons [k]. Image=img;
/ / Привласнюємо написи кнопки ім'я файлу
buttons [k]. Label=file.Name;
j + +;
groups [i]. Visible=true; groups [i]. Label=di.Name ;/ / показуємо групу і робимо підпис з імені папки
} / / в папці більше 20 картинок (але не файлів в цілому)
{. Windows.Forms.MessageBox.Show («В папці» + di.Name + «більш, ніж 20 зображень. Будуть показані тільки перші 20.»);; p>
}
}
}
}
}
/ / дана процедура викликається відразу після завантаження стрічки
private void Ribbon1_Load (object sender, RibbonUIEventArgs e)
{
/ / для кожної з 3-х кнопок, за допомогою яких визначається з якого папки брати зображення
foreach (RibbonButton btn in drpCurrentFolder.Buttons)
/ / Підключаємо обробник кліка по кнопке.Click +=new RibbonControlEventHandler (btnSettings_Click);
/ / Для кожної з 60 кнопок із зображеннями підключаємо оброблювач кліка; обробник знаходиться в класі ThisAddIn
foreach (RibbonButton btn in buttons). Click +=new RibbonControlEventHandler (Globals.ThisAddIn.button_Click);
/ / викликаємо оновлення стрічки
__Refresh ();
}
/ / Ця процедура виконується при кліці на кнопку вибору папки
private void btnSettings_Click (object sender, RibbonControlEventArgs e)
{
/ / відкриваємо реєстр на запісьrk=Registry.CurrentUser.CreateSubKey (regPath);
/ / Показуємо ді...