演练:使用单选按钮更新工作表中的图表
本演练演示了在 Microsoft 办公室 Excel 工作表上使用单选按钮的基础知识,使用户能够快速切换选项。 在这种情况下,这些选项将更改图表的样式。
适用于: 本主题中的信息适用于 Excel 的文档级项目。 有关详细信息,请参阅办公室应用程序和项目类型提供的功能。
若要查看结果作为已完成的示例,请参阅办公室开发示例和演练中的 Excel 控件示例。
本演练阐释了以下任务:
向工作表添加一组单选按钮。
在选择了某个选项时更改图表样式。
注意
以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。 这些元素取决于你所使用的 Visual Studio 版本和你所使用的设置。 有关详细信息,请参阅个性化设置 Visual Studio IDE。
先决条件
你需要满足以下条件才能完成本演练:
Visual Studio 的一个版本,其中包含 Microsoft Office 开发人员工具。 有关详细信息,请参阅配置计算机以开发办公室解决方案。
Excel 2013 或 Excel 2010 。
向工作表添加图表
可以创建自定义现有工作簿的 Excel 工作簿项目。 在本演练中,你将向工作簿添加图表,然后在新的 Excel 解决方案中使用此工作簿。 本演练中的数据源是名为 Data for Chart 的工作表。
添加数据
打开 Microsoft Excel。
右键单击 Sheet3 选项卡,然后单击快捷菜单上的“ 重命名 ”。
将工作表重命名为 图表的数据。
将以下数据添加到 图表 的数据中,单元格 A4 是左上角,右下角为 E8。
区域/季度 Q1 Q2 第三季度 第 4 季度 West 500 550 550 600 东部 600 625 675 700 北部 450 470 490 510 南部 800 750 775 790 接下来,将图表添加到第一个工作表以显示数据。
在 Excel 中添加图表
在“插入”选项卡上的“图表”组中,单击“列”,然后单击“所有图表类型”。
在 “插入图表 ”对话框中,单击“ 确定”。
在 “设计 ”选项卡上的 “数据 ”组中,单击“ 选择数据”。
在 “选择数据源 ”对话框中,单击“ 图表数据范围 ”框并清除任何默认选择。
在 “图表 数据”工作表中,选择包含数字的单元格块,其中包括右上角的 A4 到右下角的 E8。
在 “选择数据源 ”对话框中,单击“ 确定”。
重新定位图表,使右上角与单元格 E2 对齐。
将文件保存到驱动器 C 并将其命名为 ExcelChart.xlsx。
退出 Excel。
创建新项目
在此步骤中,将基于 ExcelChart 工作簿创建 Excel 工作簿项目。
创建新项目
创建名为“我的 Excel 图表”的 Excel 工作簿项目。 在向导中,选择“ 复制现有文档”。
有关详细信息,请参阅“如何:在 Visual Studio 中创建办公室项目。
单击“浏览”按钮并浏览到本演练前面创建的工作簿。
单击“确定”。
Visual Studio 在设计器中打开新的 Excel 工作簿,并将“我的 Excel 图表”项目添加到解决方案资源管理器。
设置图表的属性
创建新的使用现有工作簿的 Excel 工作簿项目时,将自动为工作簿中的所有命名区域、列表对象和图表创建主机控件。 可以使用“属性”窗口更改控件的名称Chart。
更改图表控件的名称
选择Chart设计器中的控件,并在“属性”窗口中更改以下属性。
属性 值 Name dataChart HasLegend false
添加控件
此工作表使用单选按钮为用户提供快速更改图表样式的方法。 但是,单选按钮需要独占 -- 选择一个按钮时,无法同时选择组中的任何其他按钮。 将多个单选按钮添加到工作表时,默认情况下不会发生此行为。
添加此行为的一种方法是将用户控件上的单选按钮分组,在用户控件后面编写代码,然后将用户控件添加到工作表。
要添加用户控件
在解决方案资源管理器中选择“我的 Excel 图表”项目。
在 “项目” 菜单上,单击 “添加新项”。
在 “添加新项 ”对话框中,单击“ 用户控件”,将控件 命名为 ChartOptions, 然后单击“ 添加”。
向用户控件添加单选按钮
如果用户控件在设计器中不可见,请在解决方案资源管理器中双击 ChartOptions。
从工具箱的“常用控件”选项卡中,将单选按钮控件拖动到用户控件,并更改以下属性。
属性 值 Name columnChart 文本 柱形图 将第二个单选按钮添加到用户控件,并更改以下属性。
属性 值 Name barChart 文本 条形图 将第三个单选按钮添加到用户控件,并更改以下属性。
属性 值 Name lineChart 文本 折线图 将第四个单选按钮添加到用户控件,并更改以下属性。
属性 值 Name areaBlockChart 文本 面积块图 接下来,编写代码以在单击单选按钮时更新图表。
选择单选按钮时更改图表样式
现在,可以添加代码来更改图表样式。 为此,请在用户控件上创建一个公共事件,添加一个属性来设置选择类型,并为每个单选按钮的事件创建事件处理程序 CheckedChanged
。
创建用户控件的事件和属性
在解决方案资源管理器中,右键单击用户控件,然后单击“查看代码”。
将代码添加到
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 事件
设置
CheckedChanged
单选按钮的areaBlockChart
事件处理程序中的图表类型,然后引发事件。设置
CheckedChanged
单选按钮的barChart
事件处理程序中的图表类型。设置
CheckedChanged
单选按钮的columnChart
事件处理程序中的图表类型。设置
CheckedChanged
单选按钮的lineChart
事件处理程序中的图表类型。在 C# 中,必须为单选按钮添加事件处理程序。 可以将此代码添加到
ChartOptions
构造函数中InitializeComponent
调用的下面。 有关如何创建事件处理程序的信息,请参阅如何:在办公室项目中创建事件处理程序。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 用户控件将添加到工具箱中。
在解决方案资源管理器中,右键单击 Sheet1.vb 或 Sheet1.cs,然后单击“视图设计器”。
将 ChartOptions 控件从 工具箱 拖到工作表。
名为
my_Excel_Chart_ChartOptions1
的新控件将添加到项目中。将控件的名称更改为 ChartOptions1。
更改图表类型
若要更改图表类型,请创建一个事件处理程序,该事件处理程序根据用户控件中选择的选项设置样式。
更改工作表中显示的图表类型
将以下事件处理程序添加到
Sheet1
类。在 C# 中,必须将用户控件的事件处理程序添加到事件, Startup 如下所示。 有关如何创建事件处理程序的信息,请参阅如何:在办公室项目中创建事件处理程序。
this.ChartOptions1.SelectionChanged += new EventHandler(ChartOptions1_SelectionChanged);
测试应用程序
现在可以测试工作簿,以验证选择单选按钮时图表的样式是否正确。
测试工作簿
按 F5 运行项目。
选择不同的单选按钮。
确认图表样式随所选选项发生了相应的更改。
后续步骤
本演练演示了在工作表上使用单选按钮和图表样式的基础知识。 以下是接下来可能要执行的一些任务: