Пошаговое руководство. Обновление диаграммы в документе с помощью переключателей
Обновлен: Ноябрь 2007
Применение |
---|
Сведения, приведенные в данном разделе, относятся только к указанным проектам Visual Studio Tools for Office и версиям Microsoft Office. Тип проекта
Версия Microsoft Office
Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов. |
В этом пошаговом руководстве демонстрируются основные принципы использования переключателей в настройке на уровне документа Microsoft Office Word для предоставления пользователям возможности выбора стилей диаграмм в документе.
В данном пошаговом руководстве рассмотрены следующие задачи:
добавление в документ диаграммы в проекте уровня документа во время разработки;
группировка переключателей путем добавления их в пользовательский элемент управления;
изменение стиля диаграммы при выборе определенного параметра.
Результат полностью выполненного примера см. в разделе Пример Word Controls.
![]() |
---|
На вашем компьютере названия некоторых элементов интерфейса пользователя Visual Studio или их расположение могут отличаться от указанных в нижеследующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Параметры Visual Studio. |
Обязательные компоненты
Ниже приведены компоненты, необходимые для выполнения данного пошагового руководства.
Visual Studio Tools for Office (необязательный компонент Visual Studio 2008 Professional и Visual Studio Team System);
Microsoft Office Word 2003 или Microsoft Office Word 2007.
В данном руководстве используются меню Word 2003, однако эти же параметры доступны на ленте Word 2007.
Создание проекта
Вначале следует создать проект документа Word.
Создание нового проекта
Создайте проект документа Word с именем Параметры диаграммы. Выберите в мастере Создать новый документ. Дополнительные сведения см. в разделе Практическое руководство. Создание проектов Visual Studio Tools for Office.
Visual Studio откроет новый документ Word в режиме конструктора и добавит проект Параметры диаграммы в Обозреватель решений.
Добавление диаграммы в документ
В проектах Word 2003 меню Вставка в панели инструментов Visual Studio содержит команды Word для добавления диаграммы.
Добавление диаграммы
В меню Вставка выберите пункт Объект.
Откроется диалоговое окно Объект.
Примечание.
Если меню Вставка не отображается, щелкните по документу, чтобы установить на него фокус. Дополнительные сведения см. в разделе Общие сведения о работе с меню Office в среде Visual Studio.
В списке Тип объекта на вкладке Создать выберите Microsoft Smart Tags 2.0 Type Library и нажмите кнопку ОК.
Диаграмма будет добавлена в документ в позиции курсора, и отобразится окно Режим таблицы с данными по умолчанию.
Закройте окно Режим таблицы, чтобы подтвердить значения по умолчанию для диаграммы, и щелкните мышью в документе, чтобы переместить фокус из диаграммы.
Щелкните диаграмму правой кнопкой мыши и выберите команду Формат объекта.
На странице Стиль диалогового окна Форматирование объекта выберите пункт Квадрат и нажмите кнопку ОК.
Добавление пользовательского элемента управления в проект
Переключатели в документе по умолчанию не являются взаимоисключающими. Чтобы обеспечить их правильное функционирование, необходимо добавить их в элемент управления и написать код для управления выбором.
Добавление пользовательского элемента управления
В Обозревателе решений выберите проект Параметры диаграммы.
В меню Проект выберите команду Добавить новый элемент.
В диалоговом окне Добавить новый элемент щелкните Пользовательский элемент управления, назовите элемент управления ChartOptions и нажмите кнопку Добавить.
Добавление элементов управления Windows Forms в пользовательский элемент управления
Если пользовательский элемент управления не видим в конструкторе, дважды щелкните ChartOptions в Обозревателе решений.
Перетащите первый элемент управления Переключатель с вкладки Стандартные элементы управленияПанели элементов в пользовательский элемент управления и измените следующие свойства:
Свойство
Значение
Name
columnChart
Text
Гистограмма
Добавьте второй элемент управления Переключатель в пользовательский элемент управления и измените следующие свойства:
Свойство
Значение
Name
barChart
Text
Линейчатая диаграмма
Добавьте третий элемент управления Переключатель в пользовательский элемент управления и измените следующие свойства:
Свойство
Значение
Name
lineChart
Text
График
Добавьте четвертый элемент управления Переключатель в пользовательский элемент управления и измените следующие свойства:
Свойство
Значение
Name
areaBlockChart
Text
Заполненная диаграмма
Добавление ссылок
Для доступа к диаграмме из пользовательского элемента управления в документе необходимо иметь ссылку в проекте на библиотеку объектов Microsoft Graph 11.0.
Добавление ссылки на библиотеку объектов Microsoft Graph 11.0
В меню Проект выберите команду Добавить ссылку.
Откроется диалоговое окно Добавление ссылки.
Откройте вкладку COM.
В списке Имя компонента выберите Microsoft Graph 11.0 Object Library и нажмите кнопку ОК.
Изменение стиля диаграммы при выборе определенного параметра
Для обеспечения правильной работы кнопок необходимо создать для пользовательского элемента управления открытое событие, добавить свойство для задания типа выбора и создать процедуру для события CheckedChanged каждого переключателя.
Создание события и свойства пользовательского элемента управления
В Обозревателе решений щелкните правой кнопкой мыши пользовательский элемент управления и выберите команду Просмотреть код.
Добавьте в класс ChartOptions код для создания события SelectionChanged и свойства Selection:
Public Event SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Private selectedType As Microsoft.Office.Interop.Graph.XlChartType = _ Microsoft.Office.Interop.Graph.XlChartType.xlColumnClustered Public Property Selection() As Microsoft.Office.Interop.Graph.XlChartType Get Return Me.selectedType End Get Set(ByVal value As Microsoft.Office.Interop.Graph.XlChartType) Me.selectedType = value End Set End Property
public event EventHandler SelectionChanged; private Microsoft.Office.Interop.Graph.XlChartType selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlColumnClustered; public Microsoft.Office.Interop.Graph.XlChartType Selection { get { return this.selectedType; } set { this.selectedType = value; } }
Обработка события переключателей CheckedChange
Задайте тип диаграммы в обработчике событий CheckedChanged переключателя areaBlockChart и вызовите событие:
Private Sub areaBlockChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles areaBlockChart.CheckedChanged If (CType(sender, RadioButton).Checked) Then Me.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlAreaStacked RaiseEvent SelectionChanged(Me, EventArgs.Empty) End If End Sub
private void areaBlockChart_CheckedChanged(object sender, EventArgs e) { if (((RadioButton)sender).Checked) { this.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlAreaStacked; if (this.SelectionChanged != null) { this.SelectionChanged(this, EventArgs.Empty); } } }
Задайте тип диаграммы в обработчике событий CheckedChanged переключателя barChart:
Private Sub barChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles barChart.CheckedChanged If (CType(sender, RadioButton).Checked) Then Me.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlBarClustered RaiseEvent SelectionChanged(Me, EventArgs.Empty) End If End Sub
private void barChart_CheckedChanged(object sender, EventArgs e) { if (((RadioButton)sender).Checked) { this.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlBarClustered; if (this.SelectionChanged != null) { this.SelectionChanged(this, EventArgs.Empty); } } }
Задайте тип диаграммы в обработчике событий CheckedChanged переключателя columnChart:
Private Sub columnChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles columnChart.CheckedChanged If (CType(sender, RadioButton).Checked) Then Me.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlColumnClustered RaiseEvent SelectionChanged(Me, EventArgs.Empty) End If End Sub
private void columnChart_CheckedChanged(object sender, EventArgs e) { if (((RadioButton)sender).Checked) { this.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlColumnClustered; if (this.SelectionChanged != null) { this.SelectionChanged(this, EventArgs.Empty); } } }
Задайте тип диаграммы в обработчике событий CheckedChanged переключателя lineChart:
Private Sub lineChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles lineChart.CheckedChanged If (CType(sender, RadioButton).Checked) Then Me.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlLineMarkers RaiseEvent SelectionChanged(Me, EventArgs.Empty) End If End Sub
private void lineChart_CheckedChanged(object sender, EventArgs e) { if (((RadioButton)sender).Checked) { this.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlLineMarkers; if (this.SelectionChanged != null) { this.SelectionChanged(this, EventArgs.Empty); } } }
В C# необходимо добавить обработчики событий для переключателей. Можно добавить код в конструктор ChartOptions после вызова InitializeComponent. Дополнительные сведения о создании обработчиков событий см. в разделе Практическое руководство. Создание обработчиков событий в пакете инструментов Visual Studio для Office.
public ChartOptions() { InitializeComponent(); areaBlockChart.CheckedChanged += new EventHandler(areaBlockChart_CheckedChanged); barChart.CheckedChanged += new EventHandler(barChart_CheckedChanged); columnChart.CheckedChanged += new EventHandler(columnChart_CheckedChanged); lineChart.CheckedChanged += new EventHandler(lineChart_CheckedChanged); }
Добавление пользовательского элемента управления в документ
При построении решения новый пользовательский элемент управления автоматически добавляется в Панель элементов. После этого можно перетащить элемент управления с Панели элементов в документ.
Добавление пользовательского элемента управления в документ
В меню Построение выберите команду Построить решение.
Пользовательский элемент управления ChartOptions добавляется в Панель элементов.
В Обозревателе решений щелкните правой кнопкой мыши файл ThisDocument.vb или ThisDocument.cs и выберите из контекстного меню команду Открыть в конструкторе.
Перетащите элемент управления ChartOptions из Панели элементов в документ.
В проект добавится новый элемент управления с именем ChartOptions1.
Изменение типа диаграммы
Создайте обработчик событий для изменения типа диаграммы в соответствии с параметром, выбранным в пользовательском элементе управления.
Изменение типа диаграммы, отображаемой в документе
Добавьте следующий обработчик событий в класс ThisDocument:
Private Sub ChartOptions1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles ChartOptions1.SelectionChanged Try 'first object is the runtime storage control Dim index As Object = 2 Dim shape As Word.Shape = Me.Shapes.Item(index) 'Activate the shape shape.Activate() Dim dataChart As Graph.Chart = CType(shape.OLEFormat.Object, Graph.Chart) dataChart.ChartType = Me.ChartOptions1.Selection 'Deactivate the shape Me.ChartOptions1.Select() Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub
private void ChartOptions1_SelectionChanged(object sender, EventArgs e) { try { //first object is the runtime storage control object index = 2; Word.Shape shape = this.Shapes.get_Item(ref index); //Activate the shape shape.Activate(); Microsoft.Office.Interop.Graph.Chart dataChart = (Microsoft.Office.Interop.Graph.Chart)shape.OLEFormat.Object; dataChart.ChartType = this.ChartOptions1.Selection; //Deactivate the shape this.ChartOptions1.Select(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
В C# необходимо добавлять обработчик событий для пользовательского элемента управления в событие Startup.
this.ChartOptions1.SelectionChanged += new EventHandler(ChartOptions1_SelectionChanged);
Проверка работы приложения
Теперь можно выполнить тестирование документа, чтобы убедиться в том, что стиль диаграммы обновляется соответствующим образом при выборе переключателя.
Проверка документа
Нажмите клавишу F5 для запуска проекта.
Выберите различные переключатели.
Убедитесь, что стиль диаграммы меняется в соответствии с выбранным параметром.
Следующие действия
Далее будут рассмотрены следующие задачи:
Заполнение текстового поля с помощью кнопки. Дополнительные сведения см. в разделе Пошаговое руководство. Отображение текста в текстовом поле документа с помощью кнопки.
Изменения форматирования путем выбора стиля из поля со списком. Дополнительные сведения см. в разделе Пошаговое руководство. Изменение форматирования документа с использованием элементов управления CheckBox.
См. также
Основные понятия
Пошаговые руководства с использованием Word
Использование элементов управления Windows Forms в документах Word
Ограничения по использованию элементов управления Windows Forms в документах Office