Поделиться через


Пошаговое руководство. Обновление диаграммы на листе с помощью переключателей

В этом пошаговом руководстве показано, как использовать переключатели на листе Microsoft Office Excel, чтобы пользователь мог быстро переключаться между параметрами. В этом случае параметры изменяют стиль диаграммы.

Область применения. Сведения в этом разделе относятся к проектам уровня документа для Excel. Дополнительные сведения см. в разделе "Функции", доступные по Приложение Office ликации и типу проекта.

Чтобы просмотреть результат в качестве готового примера, см. примеры элементов управления Excel в примерах разработки Office и пошаговых руководствах.

В этом пошаговом руководстве рассматриваются следующие задачи:

  • Добавление группы переключателей на лист.

  • изменение стиля диаграммы при выбранном параметре.

Примечание.

Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Персонализация интегрированной среды разработки Visual Studio.

Необходимые компоненты

Для выполнения этого пошагового руководства требуются следующие компоненты:

Добавление диаграммы на лист

Вы можете создать проект книги Excel, который настраивает существующую книгу. В этом пошаговом руководстве вы добавите диаграмму в книгу, а затем используйте эту книгу в новом решении Excel. Источник данных в этом пошаговом руководстве — это лист с именем Data for Chart.

Добавление данных

  1. Откройте Microsoft Excel.

  2. Щелкните правой кнопкой мыши вкладку "Лист3 " и выберите пункт "Переименовать " в контекстном меню.

  3. Переименуйте лист в Data for Chart.

  4. Добавьте следующие данные в данные для диаграммы с ячейкой A4 в левом верхнем углу и E8 в правом нижнем углу.

    Регион / квартал Q1 Q2 К3 К4
    Запад 500 550 550 600
    Восток 600 625 675 700
    Север 450 470 490 510
    South 800 750 775 790

    Затем добавьте диаграмму на первый лист, чтобы отобразить данные.

Добавление диаграммы в Excel

  1. На вкладке "Вставка" в группе "Диаграммы" щелкните "Столбец" и выберите пункт "Все типы диаграмм".

  2. В диалоговом окне "Вставка диаграммы" нажмите кнопку "ОК".

  3. На вкладке "Конструктор" в группе данных нажмите кнопку "Выбрать данные".

  4. В диалоговом окне "Выбор источника данных" щелкните в поле "Диапазон диаграммы" и снимите любой выбор по умолчанию.

  5. На листе "Данные для диаграммы " выберите блок ячеек, содержащих числа, которые включают A4 в левом верхнем углу на E8 в правом нижнем углу.

  6. В диалоговом окне "Выбор источника данных" нажмите кнопку "ОК".

  7. Переместите диаграмму так, чтобы правый верхний угол выравнивался с ячейкой E2.

  8. Сохраните файл на диск C и назовите его ExcelChart.xlsx.

  9. Выйдите из Excel.

Создание нового проекта

На этом шаге вы создадите проект книги Excel на основе книги ExcelChart .

Создание проекта

  1. Создайте проект книги Excel с именем "Моя диаграмма Excel". В мастере выберите "Копировать существующий документ".

    Дополнительные сведения см. в статье "Практическое руководство. Создание проектов Office в Visual Studio".

  2. Нажмите кнопку "Обзор" и перейдите к книге, созданной ранее в этом пошаговом руководстве.

  3. Щелкните OK.

    Visual Studio открывает новую книгу Excel в конструкторе и добавляет проект диаграммы My Excel в Обозреватель решений.

Задание свойств диаграммы

При создании проекта книги Excel, использующего существующую книгу, элементы управления узлами автоматически создаются для всех именованных диапазонов, объектов списка и диаграмм в книге. Имя Chart элемента управления можно изменить с помощью окна "Свойства ".

Изменение имени элемента управления Chart

  1. Chart Выберите элемент управления в конструкторе и измените следующие свойства в окне свойств.

    Свойство Значение
    Имя DataChart
    HasLegend false

Добавление элементов управления

На этом листе используются переключатели, которые позволяют пользователям быстро изменять стиль диаграммы. Однако переключатели должны быть эксклюзивными— если выбрана одна кнопка, другая кнопка в группе не может быть выбрана одновременно. Это поведение не происходит по умолчанию при добавлении нескольких переключателей на лист.

Одним из способов добавления этого поведения является группирование переключателей в элементе управления пользователем, написание кода за элементом управления пользователем и добавление пользовательского элемента управления на лист.

Добавление пользовательского элемента управления

  1. Выберите проект "Моя диаграмма Excel" в Обозреватель решений.

  2. В меню Проект выберите Добавить новый элемент.

  3. В диалоговом окне "Добавить новый элемент" щелкните Элемент управления "Пользователь", назовите элемент управления ChartOptions и нажмите кнопку "Добавить".

Добавление переключателей в элемент управления пользователем

  1. Если элемент управления пользователем не отображается в конструкторе, дважды щелкните ChartOptions в Обозреватель решений.

  2. На вкладке "Общие элементы управления" панели элементов перетащите элемент управления "Переключатель" в пользовательский элемент управления и измените следующие свойства.

    Свойство Значение
    Имя columnChart
    Text Диаграмма столбцов
  3. Добавьте в элемент управления пользователя второй переключатель и измените следующие свойства.

    Свойство Значение
    Имя barChart
    Text Линейчатая диаграмма
  4. Добавьте третью переключатель в элемент управления пользователем и измените следующие свойства.

    Свойство Значение
    Имя lineChart
    Text График
  5. Добавьте четвертую переключатель в элемент управления пользователя и измените следующие свойства.

    Свойство Значение
    Имя areaBlockChart
    Text Блок-диаграмма области

    Затем напишите код, чтобы обновить диаграмму при нажатии переключателя.

Изменение стиля диаграммы при выборе переключателя

Теперь можно добавить код для изменения стиля диаграммы. Для этого создайте общедоступное событие в пользовательском элементе управления, добавьте свойство для задания типа выбора и создайте обработчик событий для CheckedChanged события каждого из переключателей.

Создание события и свойства по пользовательскому элементу управления

  1. В Обозреватель решений щелкните правой кнопкой мыши элемент управления пользователем и нажмите кнопку "Просмотреть код".

  2. Добавьте код в ChartOptions класс для создания SelectionChanged события и Selection свойства.

    public event EventHandler SelectionChanged;
    
    private Microsoft.Office.Interop.Excel.XlChartType selectedType =
        Microsoft.Office.Interop.Excel.XlChartType.xlColumnClustered;
    
    public Microsoft.Office.Interop.Excel.XlChartType Selection
    {
        get
        {
            return this.selectedType;
        }
        set
        {
            this.selectedType = value;
        }
    }
    

Обработка события CheckedChanged переключателей

  1. Установите тип диаграммы в обработчике событий CheckedChanged переключателя areaBlockChart, а затем породите событие.

    private void areaBlockChart_CheckedChanged(object sender, EventArgs e)
    {
        if (((RadioButton)sender).Checked)
        {
            this.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlAreaStacked;
            if (this.SelectionChanged != null)
            {
                this.SelectionChanged(this, EventArgs.Empty);
            }
        }
    }
    
  2. Установите тип диаграммы в обработчик событий CheckedChanged переключателя barChart.

    private void barChart_CheckedChanged(object sender, EventArgs e)
    {
        if (((RadioButton)sender).Checked)
        {
            this.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlBarClustered;
            if (this.SelectionChanged != null)
            {
                this.SelectionChanged(this, EventArgs.Empty);
            }
        }
    }
    
  3. Установите тип диаграммы в обработчик событий CheckedChanged переключателя columnChart.

    private void columnChart_CheckedChanged(object sender, EventArgs e)
    {
        if (((RadioButton)sender).Checked)
        {
            this.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlColumnClustered;
            if (this.SelectionChanged != null)
            {
                this.SelectionChanged(this, EventArgs.Empty);
            }
        }
    }
    
  4. Установите тип диаграммы в обработчик событий CheckedChanged переключателя lineChart.

    private void lineChart_CheckedChanged(object sender, EventArgs e)
    {
        if (((RadioButton)sender).Checked)
        {
            this.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlLineMarkers;
            if (this.SelectionChanged != null)
            {
                this.SelectionChanged(this, EventArgs.Empty);
            }
        }
    }
    
  5. В языке программирования 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);
    }
    

Добавление пользовательского элемента управления на лист

При создании решения новый пользовательский элемент управления автоматически добавляется на панель элементов. Затем вы можете перетащить элемент управления из панели элементов на лист.

Добавление пользовательского элемента управления на лист

  1. В меню Сборка выберите Построить решение.

    Пользовательский элемент управления ChartOptions добавляется в панель элементов.

  2. В Обозреватель решений щелкните правой кнопкой мыши Лист1.vb или Sheet1.cs и выберите конструктор представлений.

  3. Перетащите элемент управления ChartOptions из панели элементов на лист.

    В проект добавляется новый элемент управления my_Excel_Chart_ChartOptions1 .

  4. Измените имя элемента управления на ChartOptions1.

Изменение типа диаграммы

Чтобы изменить тип диаграммы, создайте обработчик событий, который задает стиль в соответствии с параметром, выбранным в пользовательском элементе управления.

Изменение типа диаграммы, отображаемой на листе

  1. Добавьте следующий обработчик событий в класс Sheet1.

    private void ChartOptions1_SelectionChanged(object sender, EventArgs e)
    {
        try
        {
            dataChart.ChartType = this.ChartOptions1.Selection;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }
    
  2. В C#необходимо добавить обработчик событий для пользовательского элемента управления, Startup как показано ниже. Сведения о создании обработчиков событий см. в статье "Практическое руководство. Создание обработчиков событий в проектах Office".

    this.ChartOptions1.SelectionChanged += new EventHandler(ChartOptions1_SelectionChanged);
    

Тестирование приложения

Теперь вы можете протестировать книгу, чтобы убедиться, что диаграмма правильно стилирована при выборе переключателя.

Проверка книги

  1. Нажмите клавишу F5 для запуска проекта.

  2. Выберите различные переключатели.

  3. Подтвердите, что изменения стиля диаграммы соответствуют выбору.

Следующие шаги

В этом пошаговом руководстве показаны основы использования переключателей и стилей диаграмм на листах. Ниже приводятся некоторые из возможных последующих задач.