Пошаговое руководство. Обновление диаграммы в документе с помощью переключателей
В этом пошаговом руководстве демонстрируются основные принципы использования переключателей в настройке на уровне документа Microsoft Office Word для предоставления пользователям возможности выбора стилей диаграмм в документе.
Применение. Сведения этого раздела применяются к проектам уровня документа для Word 2013 и Word 2010. Дополнительные сведения см. в разделе Доступность функций по типам приложений Office и проектов.
В данном пошаговом руководстве рассмотрены следующие задачи:
добавление в документ диаграммы в проекте уровня документа во время разработки;
группировка переключателей путем добавления их в пользовательский элемент управления;
изменение стиля диаграммы при выборе определенного параметра.
Для просмотра результатов в виде полного примера см. пример элементов управления Word в разделе Образцы и пошаговые руководства разработки Office.
![]() |
---|
На вашем компьютере названия некоторых элементов интерфейса пользователя Visual Studio или их расположение могут отличаться от указанных в нижеследующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Параметры Visual Studio. |
Обязательные компоненты
Ниже приведены компоненты, необходимые для выполнения данного пошагового руководства.
-
Выпуск Visual Studio 2012, включающий инструменты разработчика Microsoft Office. Дополнительные сведения см. в разделе [Настройка компьютера для разработки решений Office](bb398242\(v=vs.110\).md).
- Word 2013 или Word 2010.
Создание проекта
Сначала следует создать проект документа Word.
Создание нового проекта
Создайте проект документа Word с именем Параметры диаграммы.Выберите в мастере Создать новый документ.Дополнительные сведения см. в разделе Практическое руководство. Создание проектов Office в Visual Studio.
Visual Studio откроет новый документ Word в режиме конструктора и добавит проект Параметры диаграммы в Обозреватель решений.
Добавление диаграммы в документ
Добавление диаграммы
В документе Word, который размещен в конструкторе Visual Studio, выберите на ленте вкладку Вставить.
В группе Текст нажмите разворачивающуюся кнопку Вставка объекта и выберите пункт Объект.
Откроется диалоговое окно Объект.
В списке Тип объекта на вкладке Создать выберите Microsoft Smart Tags 2.0 Type Library и нажмите кнопку ОК.
Диаграмма будет добавлена в документ в позиции курсора, и отобразится окно Режим таблицы с данными по умолчанию.
Закройте окно Режим таблицы, чтобы подтвердить значения по умолчанию для диаграммы, и щелкните мышью в документе, чтобы переместить фокус из диаграммы.
Щелкните диаграмму правой кнопкой мыши и выберите команду Формат объекта.
На странице Стиль диалогового окна Форматирование объекта выберите пункт Квадрат и нажмите кнопку ОК.
Добавление пользовательского элемента управления в проект
Переключатели в документе по умолчанию не являются взаимоисключающими.Чтобы обеспечить их правильное функционирование, необходимо добавить их в элемент управления и написать код для управления выбором.
Добавление пользовательского элемента управления
В обозревателе решений выберите проект Параметры диаграммы.
В меню Проект выберите команду Добавить новый элемент.
В диалоговом окне Добавить новый элемент щелкните Пользовательский элемент управления, назовите элемент управления ChartOptions и нажмите кнопку Добавить.
Добавление элементов управления Windows Forms в пользовательский элемент управления
Если пользовательский элемент управления не видим в конструкторе, дважды щелкните ChartOptions в обозревателе решений.
Перетащите первый элемент управления Переключатель с вкладки Стандартные элементы управленияПанели элементов в пользовательский элемент управления и измените следующие свойства:
Свойство
Значение
Имя
columnChart
Текст.
Гистограмма
Добавьте второй элемент управления Переключатель в пользовательский элемент управления и измените следующие свойства:
Свойство
Значение
Имя
barChart
Текст.
Линейчатая диаграмма
Добавьте третий элемент управления Переключатель в пользовательский элемент управления и измените следующие свойства:
Свойство
Значение
Имя
lineChart
Текст.
График
Добавьте четвертый элемент управления Переключатель в пользовательский элемент управления и измените следующие свойства:
Свойство
Значение
Имя
areaBlockChart
Текст.
Заполненная диаграмма
Добавление ссылок
Для доступа к схеме из пользовательского элемента управления в документе, в проекте должна быть указана ссылка Microsoft.Office.Interop.Graph.
Добавление ссылки на сборку Microsoft.Office.Interop.Graph
В меню Проект щелкните команду Добавить ссылку.
Откроется диалоговое окно Добавление ссылки.
На вкладке .NET выберите Microsoft.Office.Interop.Graph и нажмите кнопку ОК.Выберите версию сборки 14.0.0.0.
Изменение стиля диаграммы при выборе определенного параметра
Для обеспечения правильной работы кнопок создайте для пользовательского элемента управления открытое событие, добавьте свойство для задания типа выбора и создайте процедуру для события 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.Дополнительные сведения о создании обработчиков событий см. в разделе Практическое руководство. Создание обработчиков событий в проектах 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 Dim shape As Word.Shape = Me.Shapes.Item(1) ' 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 { object index = 1; 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 в документах Office