алог вибору папки (folderWithComponentsDialog.ShowDialog () == System.Windows.Forms.DialogResult.OK)
{/ / якщо вибрали до.-л. папку, то
{
/ / Використовуємо конструкцію ((Microsoft.Office.Tools.Ribbon.RibbonButton) sender). Name для приведення об'єкта sender до типу кнопки та отримання її імені
/ / folderWithComponentsDialog.SelectedPath - є повною адресою обраної папки rk.SetValue («currentFolder» + ((Microsoft.Office.Tools.Ribbon.RibbonButton) sender). Name, folderWithComponentsDialog.SelectedPath);// оновлюємо значення в реєстрі
/ / оновлюємо стрічку
__Refresh ();
}
/ / Якщо в ході роботи сталася помилка, то показуємо діалогове вікно з текстом помилки
catch (Exception ex) {System.Windows.Forms.MessageBox.Show (ex.Message); }
}
}
3.5.7 Написання обробників подій для надбудови
У браузері рішень перейдемо до вихідного коду файлу ThisAddIn.cs і пишемо обробники подій безпосередньо для надбудови. У цьому файлі лістингу задаємо шлях до зображень електронних компонентів, робимо можливим завдання користувачам папки, в якій зберігаються зображення. Працюємо з реєстром операційної системи, відкриваємо його на читання, це потрібно для роботи з директоріями. Використовуємо конструктор для отримання інформації про папку, а так само одновимірний масив для отримання списку файлів у папці. Відкриваємо реєстр на запис для вказівки шляху в папці з зображеннями. Розробили систему попереджень за допомогою вікна повідомлень для повідомлення користувача про помилку.
/ / Лістинг ThisAddIn.cs
/ / Використовуємо internal для того, щоб ця процедура була доступна в будь-якому класі поточного проекту, але недоступна зовні.
internal void button_Click (object sender, Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs e)
{
/ / Отримуємо поточний слайд за допомогою властивості Slide об'єкта View, який належить одному з об'єктів Windows у глобальному класі Application
PowerPoint.Slide sld=this.Application.Windows [1]. View.Slide ;/ / у нас же одне вікно зазвичай, так що не будемо хитрувати)
/ / Об'єкт sender є кнопкою, тому наводимо до типу кнопки RibbonButton і витягаємо зображення
System.Drawing.Image img=((Microsoft.Office.Tools.Ribbon.RibbonButton) sender). Image ;/ / отримали картинку
img.Save («tmp») ;/ / зберегли
/ / метод AddPicture читає зображення з файлової системи і додає його на слайд за вказаними координатами
sld.Shapes.AddPicture («tmp», Office.MsoTriState.msoFalse, Office.MsoTriState.msoTrue, 0, 0) ;/ / прочитали
/ / 2 параметр Office.MsoTriState.msoFalse вказує на те, що повинна створюватися незалежна копія файлу
/ / 3 параметр Office.MsoTriState.msoTrue вказує на те, що потрібно зберігати зображення в документі, а не у вигляді посилання на файл
System.IO.File.Delete («tmp») ;/ / і видалили
}
По зак...