Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

РазработкаОфисныхЗаст

.pdf
Скачиваний:
5
Добавлен:
07.02.2016
Размер:
1.18 Mб
Скачать

61

this.Application.TaskPanes[Word.WdTaskPanes.wdTaskPaneDocume ntActions].Visible = false;

— для Excel: привласнити властивості

DisplayDocumentActionTaskPane об'єкта Application значення false.

Для запуску з класу ThisWorkbook:

this.Application.DisplayDocumentActionTaskPane = false;

— для Word або Excel: можна в якості альтернативи привласнити властивості CommandBar.Visible командного рядка, що представляє панель завдань, значення false. Для запуску з класу

ThisDocument або ThisWorkbook:

this.Application.CommandBars["Task Pane"].Visible = false;

Якщо користувач зберігає документ, коли панель дій видима, то панель видно при кожному відкритті документа незалежно від того, чи містить вона які-небудь елементи керування. Якщо потрібно керувати відображенням панелі дій, слід викликати метод Clear поля

ActionsPane в обробнику подій Startup класу ThisDocument або

ThisWorkbook, щоб переконатися, що панель дій невидима при відкритті документа.

При закритті панелі подія не викликається. Хоча клас ActionsPane містить подію VisibleChanged, дана подія не викликається при закритті кінцевим користувачем панелі дій. Замість цього, подія викликається, коли елементи керування в панелі дій приховаються за допомогою виклику методу Hide або присвоєння властивості Visible значення false.

Коли кінцевий користувач закриває панель дій, вона знову може бути відображена, для чого на стрічці виберіть вкладку Вигляд, у групі Відобразити / приховати клацніть вимикач Дії з документом.

Можна додати декілька елементів керування на панель дій і написати код, який відповідає на події документа, відображаючи і приховуючи елементи керування користувача. Якщо зіставити елементи схеми XML з документом, можна відобразити певні елементи керування користувача в панелі дій, якщо точка вставки знаходиться всередині одного з XML-елементів.

62

Також можна написати код, що реагує на події будь-якого об'єкта, включаючи елемент керування ведучої програми, події застосування або документа.

Елементи керування в панелі дій мають такі ж можливості прив'язки даних, як і елементи керування в Windows Forms. Можна виконувати прив'язку елементів керування до наборів даних, типізованих наборів даних і XML.

Можна виконати прив'язку елементів керування в панелі дій і елементів керування в документі до одного набору даних. Наприклад, можна створити відношення "основний / подробиці" між елементами керування в панелі дій та елементами на аркуші.

При відображенні вікна повідомлення в обробнику подій Validating елемента керування в панелі дій подію може бути викликано вдруге при переміщенні фокуса від елемента керування на вікно повідомлення. Щоб цьому запобігти слід використовувати елемент керування ErrorProvider для відображення повідомлень про помилку.

При використанні декількох елементів керування користувача можна написати код, щоб правильно розмістити елементи керування користувача в панелі дій залежно від того, закріплена вона вертикально або горизонтально. Можна задати порядок додавання елементів керування користувача на панель дій за допомогою переліку

StackStyle властивості StackOrder Властивість StackOrder може приймати наступні значення переліку StackStyle: FromBottom (додавання елементів з нижньої частини панелі дій), FromLeft (додавання елементів з лівої частини панелі дій), FromRight (додавання елементів з правої частини панелі дій), FromTop (додавання елементів з верхньої частини панелі дій), None (порядок додавання елементів не визначено, порядок задається розробником.). Наприклад:

this.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromTop;

Якщо користувач змінює розмір панелі дій під час виконання, розмір елементів керування також може змінюватися разом з панеллю дій. Можна використовувати властивість Anchor елемента керування Windows Forms, щоб закріпити елементи керування в панелі дій.

63

Можна закріпити елементи керування Windows Forms на призначеному для користувача елементі точно так само, як і інші елементи керування.

Напряму змінити розмір ActionsPane не можна, тому що клас ActionsPane вбудований в область завдань. Однак можна програмними засобами змінити ширину області задач, задавши значення властивості Width класу CommandBar, що представляє область завдань. Можна змінити висоту області задач, якщо вона закріплена горизонтально або є переміщуваною.

Не рекомендовано змінювати розмір області задач програмними засобами, тому що користувач повинен мати можливість вибирати розмір області, який найкращим чином відповідає його потребам. За необхідності зміни розміру:.

this.CommandBars["Task Pane"]. Width = 200;

Напряму змінити розташування панелі дій ActionsPane не можна, тому що вона вбудована в область завдань. Однак можна програмними засобами перемістити область завдань, задавши значення властивості Position класу CommandBar, що представляє область завдань.

Не рекомендовано змінювати розташування області задач програмними засобами, тому що користувач повинен мати можливість вибирати розташування області задач на екрані, яке найкращим чином відповідає його потребам. Але якщо переміщення області задач необхідно, можна використовувати наступний код.

this.CommandBars["Task Pane"]. Position = Microsoft.Office.Core.MsoBarPosition.msoBarLeft;

Присвоєння значень властивостям Top і Left панелі дій ActionsPane не змінює її положення, тому що об'єкт ActionsPane вбудований в область завдань. Якщо область завдань не закріплена, можна змінити властивості Top і Left класу CommandBar, що представляє область завдань:

if (this.CommandBars["Task Pane"]. Position == Microsoft.Office.Core.MsoBarPosition.msoBarFloating)

64

{this.CommandBars["Task Pane"]. Top = 0;

this.CommandBars["Task Pane"]. Left = 0;

}

3.2.1.2 Додавання панелі дій в документи Word

Щоб додати панель дій в документ Microsoft Office Word, спочатку створіть елемент керування Windows Forms. Потім додайте елемент керування користувача у властивість Controls поля

ThisDocument.ActionsPane в проекті.

У наступній процедурі показано, як створити елемент керування користувача в проекті Word. Крім того, у цій процедурі в елемент керування додається кнопка, при натисканні якої в документ записується текст.

Для створення елементу керування користувача необхідно виконати наступне:

відкрийте документ Word або шаблонний проект у Visual

Studio;

у меню Проект виберіть команду Додати новий елемент;

у діалоговому вікні Додавання нового елемента виберіть Елемент керування "Панель дій", дайте файлу ім'я HelloControl і натисніть кнопку Додати.

зі вкладки Windows Forms Панелі елементів перетягніть елемент керування Button на керуючий елемент панелі дій;

у обробник подій кнопки Click додайте наступний код:

private void button1_Click (object sender, System.EventArgs e)

{ Globals.ThisDocument.Paragraphs[1].Range.Text = "Hello World!";

}

— додати обробник події натискання кнопки (даний код можна помістити в конструктор HelloControl після звернення до

InitializeComponent):

public HelloControl ()

{ InitializeComponent ();

65

this.button1.Click += new EventHandler (this.button1_Click);

}

Щоб відобразити панель дій, слід додати елемент керування користувача у властивість Controls поля ThisDocument.ActionsPane.

Для додавання елементу керування користувача в панель дій необхідно виконати наступне:

— створіть новий екземпляр елементу керування панелі дій у класі ThisDocument:

private HelloControl hello = new HelloControl ();

— додайте наступний код в обробник подій

ThisDocument_Startup:

this.ActionsPane.Controls.Add (hello);

3.2.1.3 Додавання панелі дій у книгу Excel

Щоб додати панель дій в книгу Microsoft Office Excel, спочатку створіть елемент керування Windows Forms. Потім додайте елемент керування користувача у властивість Controls поля

ThisWorkbook.ActionsPane в проекті.

У наступній процедурі показано, як створити елемент керування користувача в проекті Excel. Крім того, у цій процедурі в елемент керування додається кнопка, при натисканні якої в клітинку аркуша записується текст.

Створення елементу керування користувача

відкрийте книгу Excel або шаблонний проект у Visual Studio:

у меню Проект виберіть команду Додати новий елемент;

у діалоговому вікні Додавання нового елемента виберіть Елемент керування "Панель дій", дайте файлу ім'я HelloControl і натисніть кнопку Додати;

зі вкладки Windows Forms Панелі елементів перетягніть елемент керування Button в елемент керування панелі дій;

у обробник подій кнопки Click додайте наступний код:

private void button1_Click (object sender, System.EventArgs

66

e)

{ Globals.Sheet1.Range["A1", System.Type.Missing].Value2 = "Hello World!";

}

— створити обробник подій для елемента Button (можна замінити цей код в конструкторі HelloControl):

public HelloControl ()

{ InitializeComponent ();

this.button1.Click += new System.EventHandler (this.button1_Click);

}

Щоб відобразити панель дій, слід додати елемент керування користувача у властивість Controls поля ThisWorkbook.ActionsPane:

— створіть новий екземпляр керуючого елементу панелі дій у класі ThisWorkbook:

private HelloControl hello = new HelloControl ();

— додайте наступний код в обробник події

ThisWorkbook_Startup:

this.ActionsPane.Controls.Add (hello);

3.2.1.4 Керування структурою елементів керування в панелі

дій

Типово панель дій закріплюється праворуч від документа або аркуша, однак її можна також закріпити ліворуч, зверху чи знизу. При використанні численних елементів керування користувача можна написати код, щоб укласти в стопку елементи керування користувача в панелі дій.

Порядок стопки елементів керування залежить від вертикального або горизонтального положення закріпленої панелі дій. Для налаштування порядку стопки для елементів керування панелі дій:

67

відкрийте проект рівня документа для Microsoft Office Word, що містить панель дій з різними елементами керування або вкладені елементи керування панелі дій;

додати в обробник подій OrientationChanged панелі дій:

private void ActionsPane_OrientationChanged (object sender, EventArgs e)

{if (ActionsPane.Orientation == Orientation.Horizontal)

{this.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromLeft;

}

else

{this.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromTop;

}

}

додати для ActionsPane в обробник подій Startup:

private void ThisDocument_Startup (object sender, System.EventArgs e)

{ this.ActionsPane.OrientationChanged += new EventHandler (ActionsPane_OrientationChanged);

}

3.2.1.5 Вставка тексту в документ з панелі дій

Розглянемо створення панелі дій у Microsoft Office Word. Панель дій містить два основних елементи керування, які збирають введені дані і потім відправляють текст у документ.

Створіть проект документа Word з ім'ям MyBasicActionsPane, введіть будь-який текст у документ та додайте елемент керування Bookmark до документа. У вікні Властивості, змініть властивість Name об'єкта Bookmark1 на showName. Виберіть слово Адреса, не підбираючи знак абзацу. На вкладці Вставлення на стрічці, у групі Зв'язки, натисніть на Закладку. У діалоговому вікні Закладка введіть showAddress в полі Ім'я закладки і виберіть пункт Додати.

Для розробки інтерфейсу панелі дій додайте елемент керування панелі дії до проекту, і потім додайте елементи керування Windows

68

Forms до елементу керування панелі дій.

Для додавання елемента керування панелі дій виберіть проект Моя базова панель дій у браузері рішень, додайте Елемент керування панеллю дій з назвою InsertTextControl.

Перетягніть елемент керування Label на елемент керування панелі дій. Змініть значення властивості Text елемента керування "Позначка" на Ім'я.

Додайте елемент керування TextBox до елементу керування панелі дій і змініть наступні властивості: Name – getName, Size – 130,

20.

Додайте другий елемент керування Label до елементу керування панелі дій і змініть значення властивості Text на Address.

Додайте другий елемент керування TextBox до елементу керування панелі дій і змініть наступні властивості: Name –

getAddress, Accepts Return – True, Multiline – True , Size – 130, 40.

Додайте елемент керування Button до елементу керування панелі дій і змініть наступні властивості: Name – addText, Text – Вставка.

В панелі дій введіть код, який вставляє текст і текстові поля у відповідні елементи керування Bookmark в документі:

додати код до обробника подій Click кнопки addText:

private void addText_Click (object sender, System.EventArgs e)

{ if (this.getName.Text!= String.Empty) {Globals.ThisDocument.showName.Text = this.GetName.Text;

}

if (this.getAddress.Text!= String.Empty) {Globals.ThisDocument.showAddress.Text =

this.GetAddress.Text;

}

this.getName.Text = String.Empty; this.getAddress.Text = String.Empty;

}

— додати обробник події натискання кнопки (даний код можна помістити в конструктор InsertTextControl після звернення до

IntializeComponent):

69

public InsertTextControl ()

{InitializeComponent ();

this.addText.Click += new EventHandler (addText_Click);

}

Щоб показати панель дій, необхідно додати елемент керування, включений в колекцію елемента керування:

— створити новий екземпляр керуючого елемента панелі дій в класі ThisDocument:

private InsertTextControl insertText = new InsertTextControl ();

додати в обробник подій Startup книги ThisDocument:

this.ActionsPane.Controls.Add (insertText);

3.2.1.6 Прив'язка даних до елементів керування в панелі дій

Word

У цьому покроковому керівництві демонструється прив'язка даних до елементів керування в панелі дій Microsoft Office Word. Ці елементи керування відображають відношення "загальне / докладне" між таблицями в базі даних SQL Server.

Для виконання даного покрокового керівництва необхідні наступні компоненти:

доступ до сервера з прикладом бази даних "Northwind" SQL

Server;

— дозвіл на читання з бази даних SQL Server та запис у неї. Створіть проект документа Word з ім'ям MyWordActionsPane.

Для виконання даного покрокового керівництва необхідний елемент керування панелі дій, що містить елементи керування Windows Forms, які прив'язані до даних.

Додайте в проект джерело даних і потім перетягніть елементи керування з вікна Джерела даних в елемент керування панелі даних. Для цього виберіть команду Додати нове джерело даних, щоб запустити Майстер настроювання джерела даних, де виберіть базу даних, а потім підключення до бази даних SQL Server "Northwind" або

70

додайте нове підключення за допомогою відповідної кнопки. Щоб зберегти підключення зніміть прапорець. У вікні Об'єкти бази даних розгорніть вузол Таблиці. Встановіть прапорці біля таблиць Постачальники і Продукти. Майстер додасть таблиці Постачальники і Продукти у вікно Джерела даних. Також до проекту додається типізований набір даних, який відображається в Браузері рішень.

Для додавання прив'язаних до даних елементів керування Windows Forms в елемент керування панелі дій виконайте наступне:

розгорніть таблицю Постачальники у вікні Джерела даних;

натисніть на стрілку вниз на вузлі Назва компанії та виберіть пункт ComboBox;

з вікна Джерела даних перетягніть вузол CompanyName на елемент керування панелі дій: на елементі керування панелі дій створюється елемент керування ComboBox, в область компонентів проекту додаються елемент керування BindingSource з ім'ям

SuppliersBindingSource, адаптер таблиць і екземпляр класу DataSet;

в області Компоненти виберіть об'єкт

SuppliersBindingNavigator і натисніть клавішу DELETE;

перетягніть поле зі списком під мітку і привласніть властивості Size значення 171, 21;

у вікні Джерела даних розгорніть таблицю Продукти, що є дочірньою таблицею таблиці Постачальники;

натисніть на стрілку вниз на вузлі ProductName і виберіть пункт ListBox;

перетягніть ProductName на елемент керування панелі дій: на елементі керування панелі дій створюється елемент керування ListBox, а в область компонентів проекту додаються елемент

керування BindingSource з ім'ям ProductBindingSource та адаптер таблиць;

перетягніть поле списку під мітку і привласніть властивості

Size значення 171,95;

перетягніть з Панелі елементів екземпляр Button на елемент керування панелі дій і помістіть його під полем списку;

натисніть правою кнопкою миші на елемент керування Button, виберіть у контекстному меню пункт Властивості та змініть наступні характеристики: Name – Insert, Text – Insert;

змініть розмір елементу керування користувача відповідно з