C#进行Visio二次开发之管理下拉列表
2008-06-05 22:07
323 查看
每个Shape有很多属性,这里我是指自定义属性,每个属性都对应一种类型,就像我们在SqlServer创建一个字段的时候,需要指定其类型一样。Visio的属性类型有以下几种:
本文着重介绍下两种类型:visPropTypeListFix和visPropTypeListVar,分别为固定列表和可变列表,其实这两种类型对应的.NET编程控件模型就是ComboBox,这个控件有个属性DropDownStyle,可以指定为DropDownList和DropDown这两种类型,本质上visPropTypeListFix对应DropDownList类型(只能选择列表的值),visPropTypeListVar对应DropDown类型(除了可选列表值,还可以输入新的值)。
Visio的这两种列表的值,都是通过对应的ShapeSheet行中的Format的值来展示的,如有一个列表的Format的值为“专用;公用”,那么就有两项可以选择,如下图所示。
targetShape.get_CellsU("Prop." + source.Name + ".Format").FormulaU = "专用;公用"
对于可变列表,我们就不希望把内容写死,否则妄为其名。如“生产厂商”属性,我们就希望它能够随着我们的数据库内容的变化而变化,那么如何实现呢?
首先,我们在数据库中创建两个表,一个表命名为DropdownListField,用来放置下拉列表的字段;一个表命名为DropdownListValue,用来放置可变列表的选项值。
if (VisWindow.Selection.Count > 0)
public void UpdateDropdownListValue(Visio.Shape targetShape)
我们看到最后的结果如下
值 | 说明 | 自动常量 |
0 | 字符串。此为默认值。 | visPropTypeString |
1 | 固定列表。在“形状数据”对话框的下拉组合框中显示列表项。在 Format 单元格中指定列表项。用户只能从该列表中选择一项。 | visPropTypeListFix |
2 | 数字。包括日期、时间、持续时间和货币值,以及标量、尺寸和角度。在 Format 单元格中指定格式图片。 | visPropTypeNumber |
3 | 布尔值。显示 FALSE 和 TRUE 项,这两项正是用户可以从“形状数据”对话框中的下拉列表框选择的项。 | visPropTypeBool |
4 | 变量列表。在“形状数据”对话框的下拉组合框中显示列表项。在 Format 单元格中指定列表项。用户可以选择列表项或在 Format 单元格中输入添加到当前列表中的新项。 | visPropTypeListVar |
5 | 日期或时间值。显示日、月和年,或者秒、分钟和小时,或者日期和时间的组合值。在 Format 单元格中指定格式图片。 | visPropTypeDate |
6 | 持续时间值。显示已经过去的时间。在 Format 单元格中指定格式图片。 | visPropTypeDuration |
7 | 货币值。使用系统的当前“区域设置”。在 Format 单元格中指定格式图片。 | visPropTypeCurrency |
Visio的这两种列表的值,都是通过对应的ShapeSheet行中的Format的值来展示的,如有一个列表的Format的值为“专用;公用”,那么就有两项可以选择,如下图所示。
targetShape.get_CellsU("Prop." + source.Name + ".Format").FormulaU = "专用;公用"
对于可变列表,我们就不希望把内容写死,否则妄为其名。如“生产厂商”属性,我们就希望它能够随着我们的数据库内容的变化而变化,那么如何实现呢?
首先,我们在数据库中创建两个表,一个表命名为DropdownListField,用来放置下拉列表的字段;一个表命名为DropdownListValue,用来放置可变列表的选项值。
if (VisWindow.Selection.Count > 0)
public void UpdateDropdownListValue(Visio.Shape targetShape)
我们看到最后的结果如下
相关文章推荐
- 如何使用C#进行Visio二次开发
- 如何使用C#进行Visio二次开发-总结版
- C#进行Visio二次开发之图纸设备信息的保存
- 信息管理系统开发架构 配置实现列表展示分析图形及编辑等 构建信息分析展示平台 C#快速开发架构
- 如何使用C#进行Visio二次开发
- C#进行Visio二次开发之动态仿真实现
- 一个C#编写的snmp程序,可使网络管理人员进行参考、开发-A C# Prepared snmp procedures, will enable network managers to carry o
- C#进行Visio二次开发之Web查看Visio图纸
- C#开发微信门户及应用(4)--关注用户列表及详细信息管理
- C#进行Visio二次开发之事件
- C#进行Visio二次开发的常见问题处理
- C#进行Visio二次开发之图纸缩放操作的实现
- (转)C#开发微信门户及应用(4)--关注用户列表及详细信息管理
- C#进行Visio二次开发之设备状态跟踪
- C#进行Visio二次开发之组合形状操作
- C#进行Visio二次开发之组合形状操作
- C#进行Visio二次开发之文件导出及另存Web页面
- [ZT]如何使用C#进行Visio二次开发
- C#进行Visio二次开发之自定义右键菜单
- C#进行Visio二次开发之动态仿真实现