设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 编程开发 >> 网络编程 >> C#教程 >> 如何用C#写所见即所得的设计器
精品推荐
C#教程点击TOP10
·C#语言初级入门(1)
·C#编程的七个小技巧
·如何用C#写所见即所得的设计器
·C#,深入浅出全接触(一)
·总结经验技巧文章:C#.NET函数和方法集
·c#学习笔记(1)
·在程序里面(服务器端)调用Winrar压缩文件的方法?另寻求一条语句转换的方法。vb.net到C#。
·C#语言初级入门(2)
·SUNWEN教程之----C#进阶(一)
·C# 3.0语言详解之基本的语言增强
网络编程点击TOP10
·ASP.NET 程序中常用的三十三种代码
·CHK文件恢复工具
·.NET 初 级 读 本
·c#操作word表格
·我的.NET书架 (入门篇)
·『原创』C#中TreeView类操作全攻略:建立树,新增节点,删除节点,修改节点,拖动节点,与Oracle数据库交互操作(一)
·从零开始学ASP.NET(基础篇)
·用C#实现木马程序
·十天学会ASP.net之第一天
·官方水晶报表 .NET 应用程序实例下载 (C#、Visual C++.NET)
精选专题

如何用C#写所见即所得的设计器

作者: 来源:http://www.xgdown.com/ 时间:2006-10-12 11:29:56

如何用C#写所见即所得的设计器(1)

摘要
    本文讨论了如何使用C#编写一个所见即所得的设计器,分析了设计器的基本原理,可能遇到的技术问题,以及如何调用.NET框架来实现一个设计器。

版权声明
  本文是XDesigner软件工作室撰写,XDesigner软件工作室拥有本文版权,转载请注明出处,并保留本版权声明。

前言
         随着计算机信息系统不断深入发展,其系统结构要求越来越灵活,这种灵活性就是表现为程序的高度可配置性,可能应用程序的工作流程可以随便改变,用户界面也可以随便改变,面对这种不断增强的灵活,是不可能通过修改程序代码来实现的,应用系统本身需要发生深刻变化,需要实现很强的扩展性和灵活性。此外z专门用于修改系统配置的外围工具也是非常重要的。这些系统外围定制工具很大一部分就是一些所见即所得的设计器。比如工作流编制工具,WinForm或WebForm界面设计器,而报表设计器也是典型的外围定制工具。

      总所周知,所见即所得的设计器是个相当复杂的程序,首先它需要复杂的图形化用户界面编程,包括图形的绘制,鼠标键盘事件的处理,还要抗屏幕闪烁。其次还有它后台的数据维护处理,包括用户界面和数据的同步,数据的组织安排,以及加载和保存文档的处理。而且这些处理过程可以算是纠缠在一起,需要非常认真小心的分析设计,仔细编码。

  本文就是探讨如何实现一个所见即所得的设计器。 关于本文,可以参考作者的另一篇文章-如何使用C#编写文本编辑器。

设计器类型
      设计器按照用户界面和使用体验,可以分为两种模式,一种是基于直角坐标方式,另一种是基于流式排版方式。微软的Visio就是典型的直角坐标方式,而Word则是流式排版方式,而VS.NET的WebForm窗体设计器就是这两者的结合。

      在直角坐标方式的设计器中,设计元素是使用XY坐标来在设计视图中定位的,对于矩形元素一般指定它的左上角的位置来定位,设计者需要指定设计元素的位置,有时还要设置它的大小。对于线段需要指定两个端点的XY坐标。设计者只要设置好了各个元素的位置大小就完成了设计文档的基本结构,剩下的就是设置各个元素各自的内容了。

      在流式排版设计器中,设计元素是不需要指定位置的,是根据一般根据从左到右,从上到下的排列原则填充到设计视图中(但有时会变成其他排列原则)。设计元素的位置是动态计算的。流式设计器可能还要使用键盘直接输入文本,需要显示光标。流式排版设计器可以看作文字处理器。

      这两种设计器用户界面和使用体验不一样,因此其程序处理的方式也不一样,直角坐标设计器存在设计元素间相互覆盖,这影响绘图,此外还需要大量的鼠标拖拽操作,需要认真处理鼠标事件,但键盘事件处理得不多。而流式排版设计器中元素不会相互覆盖,因此绘制起来方便点,鼠标事件处理不多,但键盘事件处理的多,此外还需要处理光标。但这两种设计器它的文档对象模型有比较大的类似性。

    在本文中,以下只讨论直角坐标方式的设计器。

设计器的功能
个人认为一个设计器应当实现的功能有

设计文档的加载和保存,设计器可以将当前设计的内容保存到一个文档中,这个文档可以保存到文件中,也可保存到数据库或某个服务器中。设计器可以加载文档来完全重现上次的设计结果。
设计器可以快速准确的绘制文档视图,当视图大小超过设计区域时,用户界面应当出现滚动条来进行滚动操作。
当前有互换式设计体验,用户可以使用鼠标拖拽操作来改变元素的位置大小等布局设置,用户改变了元素的布局或某些属性时,必须立即更新文档视图,而且更新区域应当尽量小。
支持所见即所得的设计体验,当设计器需要进行图形输出,例如输出图片或打印时,用户在设计器中的设计视图应当和输出的图形保持一致。

共7页 9 7 [1] [2] [3] [4] [5] [6] [78 :>

如何用C#写所见即所得的设计器 相关文章:
如何用C#写所见即所得的设计器 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com