Практическое руководство. Создание панелей инструментов Office программными средствами
Обновлен: Ноябрь 2007
Применение |
---|
Сведения, приведенные в данном разделе, относятся только к указанным проектам Visual Studio Tools for Office и версиям Microsoft Office. Тип проекта
Версия Microsoft Office
Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов. |
В этом примере создается панель инструментов "Test" для приложения Microsoft Office Word 2003, которая отображается в центре документа и содержит две кнопки. При нажатии кнопки отображается окно сообщения. Пример настройки пользовательского интерфейса приложения Microsoft Office Excel 2003 см. в разделе Практическое руководство. Создание меню Office программными средствами.
Добавьте следующий код в класс ThisDocument.
Примечание. |
---|
Переменные панели команд следует объявлять на уровне класса, а не в методе, в котором они вызываются. Это позволяет использовать переменные панели команд в течение всего срока существования приложения. В противном случае элемент удаляется в процессе сборки мусора, и обработчик событий не вызывается. |
Пример
' Create the command bar variables at the class level.
Dim commandBar As Office.CommandBar
Dim firstButton As Office.CommandBarButton
Dim secondButton As Office.CommandBarButton
Private Sub ThisDocument_Startup(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles Me.Startup
AddToolbar()
End Sub
Private Sub AddToolbar()
Try
commandBar = Me.CommandBars("Test")
Catch ex As ArgumentException
' Toolbar named Test does not exist so we should create it.
End Try
If commandBar Is Nothing Then
commandBar = Application.CommandBars.Add("Test", 1, False, True)
End If
Try
' Add a button to the command bar and create an event handler.
firstButton = CType(commandBar.Controls.Add(1), Office.CommandBarButton)
firstButton.Style = Office.MsoButtonStyle.msoButtonCaption
firstButton.Caption = "button 1"
firstButton.Tag = "button1"
AddHandler firstButton.Click, AddressOf ButtonClick
' Add a second button to the command bar and create an event handler.
secondButton = CType(commandBar.Controls.Add(1), Office.CommandBarButton)
secondButton.Style = Office.MsoButtonStyle.msoButtonCaption
secondButton.Caption = "button 2"
secondButton.Tag = "button2"
AddHandler secondButton.Click, AddressOf ButtonClick
commandBar.Visible = True
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
' Handles the event when a button on the new toolbar is clicked.
Private Sub ButtonClick(ByVal ctrl As Office.CommandBarButton, ByRef Cancel As Boolean)
MsgBox("You clicked: " & ctrl.Caption)
End Sub
// Create the command bar variables at the class level.
Office.CommandBar commandBar;
Office.CommandBarButton firstButton;
Office.CommandBarButton secondButton;
private void ThisDocument_Startup(object sender, System.EventArgs e)
{
AddToolbar();
}
private void AddToolbar()
{
try
{
commandBar = Application.CommandBars["Test"];
}
catch (ArgumentException e)
{
// Toolbar named Test does not exist so we should create it.
}
if (commandBar == null)
{
// Add a commandbar named Test.
commandBar = Application.CommandBars.Add("Test", 1, missing, true);
}
try
{
// Add a button to the command bar and an event handler.
firstButton = (Office.CommandBarButton)commandBar.Controls.Add(
1, missing, missing, missing, missing);
firstButton.Style = Office.MsoButtonStyle.msoButtonCaption;
firstButton.Caption = "button 1";
firstButton.Tag = "button1";
firstButton.Click += new Office._CommandBarButtonEvents_ClickEventHandler(ButtonClick);
// Add a second button to the command bar and an event handler.
secondButton = (Office.CommandBarButton)commandBar.Controls.Add(
1, missing, missing, missing, missing);
secondButton.Style = Office.MsoButtonStyle.msoButtonCaption;
secondButton.Caption = "button 2";
secondButton.Tag = "button2";
secondButton.Click += new Office._CommandBarButtonEvents_ClickEventHandler(ButtonClick);
commandBar.Visible = true;
}
catch (ArgumentException e)
{
MessageBox.Show(e.Message);
}
}
// Handles the event when a button on the new toolbar is clicked.
private void ButtonClick(Office.CommandBarButton ctrl, ref bool cancel)
{
MessageBox.Show("You clicked: " + ctrl.Caption);
}
См. также
Задачи
Практическое руководство. Создание меню Office программными средствами
Пошаговое руководство. Создание контекстного меню для закладок
Основные понятия
Настройка пользовательского интерфейса Office
Общие сведения о необязательных параметрах в решениях Office