注册本站  论坛  繁體中文

电脑技巧
手机 | MP3 | MP4 | 显卡 | 主板 | 显示器 | 光存储 | 笔记本 | 网络设备 | 移动存储 | 数码相机
键鼠 | CPU | 音箱 | GPS | 电视 | 服务器 | 投影机 | 机箱电源 | 品牌电脑 | 办公打印 |
| 网站首页 | Cisco | Windows | Linux | Java | Dotnet | Oracle | 网页设计 | 平面设计 | 安全 | 软件应用 | 电脑维修 | 办公维修 |
您现在的位置: 电脑技巧 >> Dotnet >> ASP.NET >> Dotnet正文

ASP.NET中Visio图形的控制与数据显示

文章来源:中国IT实验室收集整理 作者:佚名 更新时间:2008-5-25 3:56:34 【 】 【加入收藏

    背景: 在实现应用开发中, 存在这样一种需求, 在一张图中动态显示图中图元的数据并控制图元的显示方式。比如一张电气接线图, 需要动态显示各个开关的状态及各个电气设备的参数。

    问题: 如何以Web方式满足这样一个需求?

    解决方案: 用Visio绘制图形, 在ASP.NET中调用Visio提供的编程接口去控制Visio图中的图元,并转换成Web上可以显示的图像格式。对于每个要动态显示数据的图形, 定义一个自定义属性标识它,比如:TagNum, 然后在程序中根据TagNum的值从数据库中读取数据来设置相应图形的数据。

    需要添加对Microsoft Visio 11.0 Type Library的引用(COM组件)。代码如下:
    
   

 using Microsoft.Office.Interop.Visio;
private void Button1_Click(object sender, System.EventArgs e)
{
Document doc=null;
Cell cell=null;
ApplicationClass app=new ApplicationClass();//运行Visio应用程序

string CurrentPath=MapPath(".");
doc=app.Documents.OpenEx(CurrentPath+"\\bin\\test2.vsd",(short)Microsoft.Office.Interop.Visio.VisOpenSaveArgs.visOpenCopy);//打开一个visio文件

const string CUST_PROP_PREFIX = "Prop."; //自定义属性前缀

try
{
for(int i=1;i<=doc.Pages[1].Shapes.Count;i++)
{
doc.Pages[1].Shapes[i].Rotate90();//将图形旋转90度

doc.Pages[1].Shapes[i].Text="hello";//设置图形的文本

if(doc.Pages[1].Shapes[i].get_CellExists("TagNum",(short)Microsoft.Office.Interop.Visio.VisExistsFlags.visExistsAnywhere)!=0)//检查定制是否存在指定定制属性

{
doc.Pages[1].Shapes[i].Text=data;//在此处显示图形数据

}
}
doc.Saved=true;//告诉Visio应用程序该文件已保存, 不然Visio要出现是否要保存的对话框,实际上并未保存,因为我们不想对源文件作修改,只是修改过后显示一下就行了。

doc.Pages [1].Export(CurrentPath+"\\test.jpg");//转换成jpg格式的文件

}
finally
{
doc.Close();//关闭打开的文件

app.Quit();//退出Visio应用程序

}
}

  • 上一篇Dotnet:

  • 下一篇Dotnet:
  • 最 新 热 门
     asp根据表单自动生成sql语句的函数
     ASP教程:自己写的数据库操作类
     ASP处理多关键词查询实例代码
     asp文件打不开的原因
     IIS7.0在Vista系统下安装注意事项
     XMLHTTP Post Form时的表单乱码
     xmlhttp是如何完成异步操作的
     VB.Net处理MySQL中二进制问题
     VB.NET的常量与枚举学习
     VB.NET字符数据类型和其他数据类型
    最 新 推 荐
     ASP.NET中防止注入攻击
     Asp.NET大文件上传组件---提取文件内容
     asp.net 控件开发(一)---显示控件内容
     asp.net控件开发(二)-简单属性
     asp.net控件开发(一)-显示控件内容
     Asp.net—递归方式的FindControl
     输出枚举数据时需要将其转换为整型?
     ASP.NET2.0中Gridview中数据操作技巧
     ASP.NET中广告控件AdRotator的使用方法
     Asp.NET大文件上传开发总结(一)
    相 关 文 章

    asp根据表单自动生成sql语句的函数
    ASP教程:自己写的数据库操作类
    ASP处理多关键词查询实例代码
    asp文件打不开的原因
    ASP.NET中防止注入攻击
    Asp.NET大文件上传组件---提取文件内容
    asp.net 控件开发(一)---显示控件内容
    asp.net控件开发(二)-简单属性
    asp.net控件开发(一)-显示控件内容
    Asp.net—递归方式的FindControl

    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告

     

    Copyright 2006-2008 pcjx.com All Rights Reserved
    电脑技巧 版权所有 粤ICP备06059145号 地图
    本网站所有内容未经许可不得转载或做其他使用