经过30年来在控件领域的不断积累,葡萄城已经成为全球最大的控件提供商,旗下多款产品在国际软件行业屡获殊荣,并且在全球被数十万家企业、学校和政府机构等选用。
摘要:Microsoft Silverlight 5 正在有条不紊的准备发布。有消息称这将是Silverlight最后一个主版本,但是Microsoft官方并未对此作出回应。 Silverlight 5, 最近的也可能是最后一个Microsoft跨平台浏览器插件,将于11月底之前发布RTM版本。
WiX是Windows Installer XML的简称,它是用于制作Windows安装包的工具集。它支持命令行环境,开发者可以及将它集成到他们的编译过程中创建MSI和MSM安装包。 更多信息可以参考:http://wix.sourceforge.net/ 最近研究了一下如何使用WiX制作具有时间限制的安装包,下图是demo的效果图。
Silverlight 5 在 Silverlight 4基础上做了一些补充和增强 丰富的媒体表现能力 增强的图形展现能力 构造下一代商业应用程序 信任模式的增强 性能提升 工具完善 其中,大多数增强来自于在线调查 lhttp://dotnet.
PDF格式已经成为广为应用的电子文档交换格式标准。为了便于用户在组织内和组织之间共享报表数据,ActiveReports 6可以将生成的报表导出为PDF格式。下面的代码是ActiveReports 6导出PDF的简单示例。
一种改善控件性能的方法是,当需要对许多单元格进行变动时,可以先保持或挂起重画,直到所有的变动都完成时再进行。通过在对单元格修改和重算时保持重画(挂起布局),然后再恢复布局并重画所有单元格控件能够节省很多时间,并且仍然能为用户展现一个全新的界面。
表单打印的多个部分都可以进行自定义,大多数的自定义选项存在于PrintInfo对象中。大多数打印选项是在PrintInfo对象上进行设置,并在表单级别上应用。当你执行打印操作时,你将一个特定的表单发送给使用这些设置的打印机。
自定义列和区域的数据绑定 当表单被绑定到一个数据集时,表单中的列就会相继的被分配到数据集的区域上。例如,第一个数据域分配给列A,第二个数据区域分配给列B,等等。你也可以改变分配顺序,将任意域分配给任意列。
使用表单的API处理数据 你可以将数据以有格式或无格式字符串或者数据对象的形式填充到单元格中。将数据填充到单元格的最好方式取决于你想添加字符串数据还是数据对象,以及你想添加数据到单一的单元格还是某个范围内的所有单元格。
你可以从多方面自定义用户界面来自定义用户与Spread控件的交互方式。同时,你还可以自定义如何处理用户交互方式。 设置允许用户进行的操作 下面的列表总结了通过控件的数据区域,你可以授权用户进行的操作(或者限制用户进行的操作)。
理解单元格的编辑模式 通常情况下,当终端用户双击单元格时,编辑控件将允许用户在该单元格中输入内容。在一个单元格中编辑的能力被称为编辑模式。一些属性和方法可以用来自定义编辑模式的使用。 当一个单元格处于编辑模式时,活动单元格将显示一个I型光标,如下图所示。
理解单元格类型基本信息 Spread支持几十种单元格类型,如复选框单元格、日期时间单元格、或者一个简单的文本单元格。单元格类型可以对单独的单元格、列、行、一个单元格区域,甚至是整个表单进行设置。单元格类型决定了用户与单元格交互的方式,包括如何对数据进行访问、显示和校验等。
底层模型概述 Spread控件提供了很多模型,这些模型提供了自定义控件的基础架构。同时,这些模型作为底层模板,派生出了更多通用的快捷对象。 在不使用Spread的底层模型的情况下,你可以完成许多任务。
Spread支持85种丰富多彩的图表效果。可以在Spread设计器中基于工作表的数据直接生成图表,操作简单。同时,软件人员还可以在Visual Studio设计环境中定制图表的所有元素,包括标题、序列、轴、样式、图例等。
通过 Spread 设计器用户可以快速地对 Spread 控件进行设计。无论用户是正在做一个关于 Spread 控件特性的原型研究,还是对于一个已经存在的 Spread 控件在某些方面进行进一步的定制,Spread 设计器专有的图形界面可节省大量的时间和精力。
你可以将数据从Spread中存到几种不同类型的文件中或者可以在Spread中打开几种不同类型的数据文件。通过使用相应的代码,你可以将整个控件,某个特定的表单,或者某个特定单元格区域中的数据保存为几种不同的文件类型或者流。
开发人员可以对Spread表单中的行和列进行自动排序操作,如根据指定的列,以升序方式自动排序表单中的数据。同时,也可以显示排序指示器。这些操作不会影响数据模型 仅仅涉及数据如何显示。 允许用户自动地对行进行排序 你可以设置表单以允许用户在列首被点击的情况下使用自动排序这一功能。
你可以设置的显示将行分组变成 OUTLOOK样式。对于大量的数据来说,这样会以用户需要的顺序显示数据。用户可以选择要进行的排序(以列为依据),然后控件会以此为依据将行组织起来,分级地显示数据。既可以通过双击列首的方式,也可以通过点击和拖拽此列进入页面头部分组栏的方式 选中要进行分组的列。
Spread支持开发人员自定义筛选数据的用户体验。基于行数据筛选,你可以允许用户分列进行筛选,从而仅显示符合了下拉列表中条件的行的数据,或者根据筛选结果更改行的外观。你可以使用默认的筛选方式,或者你可以从实际出发,自定义筛选器的每一个方面。
下面的教程将带你创建一个工程, 并将Spread控件绑定到一个数据库。 在这个教程中,主要的步骤为: 1. 将Spread添加到一个数据绑定工程中 2. 设置数据库连接 3. 指定要使用的数据 4. 创建数据集 5. 把Spread控件绑定到数据库 6. 通过改变单元格类型改善显示效果 将Spread添加到一个数据绑定工程中 打开一个新的Visual Studio.NET工程。
Spread的公式计算引擎支持300多种内置函数,并支持通过内置函数和运算符来自定义公式。支持的函数包括日期、时间函数、工程计算函数、财务计算函数、逻辑函数、数学和三角函数、统计函数、文本函数等。 公式计算引擎支持单元格的引用、表单的交叉引用、循环引用、函数嵌套等。
这篇文章概括介绍了单元格的哪些事件是由控件的用户动作触发的。虽然它没有全面地列出的用户可能执行的每一个动作,但是它详细地描述了用户所使用的大部分普通操作所引发的事件。 因为某些动作一直出现,或者某些动作反复出现, 我们就在列表中放弃了这部分动作。
单元格的编辑模式 通常情况下,当终端用户双击单元格时,编辑控件将允许用户在该单元格中输入内容。在一个单元格中编辑的能力被称为编辑模式。一些属性和方法可以用来自定义编辑模式的使用。 当一个单元格处于编辑模式时,活动单元格将显示一个I型光标,如下图所示。
在Spread中每个单元格都可以被看作一个独立的对象,开发人员不仅可以设置单元格的类型,而且可以为每个单元格设置不同的外观属性。 设置单元格的颜色 你可以为一个或多个单元格设置背景色和前景(文本)色。
在上一篇,我们介绍了常用了文本类型单元格。除了文本型单元格外,Spread还支持如下13种图形单元格类型:组合框单元格、按钮单元格、复选框单元格、超链接单元格、进度条单元格、条码单元格、颜色选择器单元格、图片单元、列表框单元格、复合列组合框单元格、复合选项单元格、富文本单元格、滚动条单元格等。
单元格类型定义了在单元格中呈现的信息的类型,以及这种信息如何显示,用户如何与其进行交互。单元格类型可以被赋给单个的单元格,整行或者整列。 用户可以使用两种不同的单元格类型对表单中的单元格进行设置: 一种是可以简单地关联于单元格的文本格式,另一种就是显示控件或者图形化信息。
开发人员可以定义用户与行和列的交互,如是否可以更改行或列的大小、是否可以移动行或列、冻结指定的行或列、在行或列中查找数据等。 更改行或列的大小 你可以允许用户重新调整表单中行或列的大小。 设置行的Resizable属性以允许用户重置行的大小,设置列的Resizable属性以允许用户重置列的大小。
让我们从设置Spread的大小和表单的外观开始学习如何定制Spread,这些操作通常放在Form的构造函数中进行,在InitializeComponent()之后调用。 自定义控件的大小 你可以设置Spread控件的规格,这决定了表单中可见的区域的大小。
前言 Spread for Windows Forms是功能最为强大的表格控件,拥有灵活开放的对象模型和50,000个以上的API,使得开发人员几乎可以定制所有的元素和接口。但另一方面,因为Spread的接口非常多,也有一些开发人员反映Spread的入门不太容易。
以往做报表相关的工作时,最害怕的是报表的UI设计工作,当遇到一个布局非常复杂的报表,往往会花上两、三天时间才能完成报表的UI设计工作。造成这一问题的原因除了报表本身比较复杂之外,其中一个主要原因就是报表设计器没有提供足够多的功能来辅助报表的UI设计工作。
开始时间 七月 23, 2011, 1:30 p.m. 结束时间 七月 23, 2011, 4:30 p.m. 地点 西安软件园秦风阁七层多功能厅 7月,社区中最重大的事件莫过于JDK 7的发布,它有哪些新特性? 它的发布对Java的生态环境会有哪些影响? 又给开发人员带来了怎样的挑战和机会? 欢迎参加这次由Oracle, InfoQ与西安Openparty, ScriptFan社区共同举办的活动,现场将有来自Oracle讲师的精彩演讲以及精美礼物相送。
如果您是一位每天都要编写JavaScript和Css的Web前端开发人员,可能您已经开始感觉到JavaScript的关键字 var, function, {} 要被您每天敲击若干遍。是否可以省掉这些重复的敲击。
任何机构都需要创建和编辑文档,因此在机构的信息化系统中都需要文档的创建、编辑、转换等功能。通常情况下,我们可以使用VisualStudio自带的RichTextBox来实现文档编辑功能。RichTextBox是一个非常小巧精致的文字编辑控件,在允许用户输入和编辑文本的同时提供了比普通的TextBox控件更高级的格式控制,如设置文本使用粗体,改变字体的颜色,也可以设置左右缩排或不缩排,从而调整段落的格式。
360上市了,同时周鸿祎也暗示自己投资的另一家公司也要上市,业界都在猜测是否是迅雷。但是又有传闻说美国会拿迅雷上市开刀,以知识产权来影响中国互联网企业上市的门槛。 最近迅雷也开放了自己的下载引擎,使得用户不需要安装迅雷,也可以使用迅雷引擎来进行下载。
想在自己的网站中应用超酷的hover效果吗?也许你可以从如下的这些实例中获得一些灵感,如果你喜欢这些效果,也可以直接拷贝代码并应用到你的站点。 给平淡的站点带来活力 hover效果能给网页增加一些动态效果,并且使得站点更具有活力。
传统的Web应用程序有一个很大的症结是当用户的网络连接不好时,应用会加载失败,为了 解决这一问题,HTML5中引入了Web的离线工作的功能。离线功能使得Web应用程序类似于本机应用程序,当断开网络连接时可以继续浏览未浏览完成的内 容,离线功能的另一个好处是可以永久缓存静态的内容,而没有缓存过期的限制,这样很大程度上加速了网页的加载速度。
这次得到了一个做Silverlight应用开发的机会,在发布时遇到 xap 包太大的问题,上网看了半天,最后把微软的这个文档 “如何使用应用程序库缓存” 翻来覆去看了半天,终于搞明白了它说的内容,晕啊,真应了 “会者不难” 这句老话。
微软早在.net2.0, 也就是VS2005的时候,就提供了一整套的异步编程设计模式,有3中常用的方式: 1. 使用 IAsyncResult 调用异步方法 2. 使用委托进行异步编程 3. 使用事件进行异步多线程编程 注: IAsyncResult 方式通常是用委托来实现的。
扫雷是一个非常经典的游戏,记得在第一次接触的windows 3.22 上就有扫雷了,到现在的Win7,依然保留着这个经典的游戏,结合Html5 Canvas,模仿Win7的UI,将老板扫雷进行了升级。在 FireFox, Chrome, 和 IE9 下测试通过。
在Asp时代有一个NetBox 产品可以把整个Asp网站AllInOne的打包成一个exe,在没有IIS的情况下可以单独运行这个exe来开启整个网站。在Asp.Net 下一直没有类似的产品出现,可能是IIS已经非常的强大了,不需要类似的产品了? 但是在某种场景下还是需要一个类似功能的产品的,这个产品不是用来部分替代IIS来做一个轻量级的IIS,而是用来方便快捷的进行客户展示。
我热爱Silverlight,并且身体力行写了很多Silverlight程序,也讨论了很多关于Silverlight的技术。对于刚刚接触Silverlight的开发人员来说,这篇文章是最适合你的。这篇文章列出了我使用Silverlight进行开发后,发现的15条小诀窍。
内容采集系统,对于以内容为主的网站来说是非常好的助手,除了原创内容外,其它内容需要编辑人员或者采集系统来收集整理,然后添加到自己的网站里。Discuz DvBBS CMS等产品,内部都自带了一个内容采集功能,来采集指定的相关内容。
对于Excel中的很多对象,比如单元格(Cell),图形(shape),图表(chart)等等,有时需要将它们保存成一张图片。就像截图一样。 最近做一个Excel相关的项目,项目中遇到一个很变态的需求, 需要对Excel中的一些对象进行拍图,比如,对一个单元格设置一些颜色之后拍图,或者对一个图表,报表拍成图片。
.Net Framework居然没有提供托管的接口来获取当前进程中的其它AppDomain!所以,我们只有借助承载接口(Hosting Interfaces)来完成这事了。 在MSCOREE.DLL中,.Net 1.0提供了一个ICorRuntimeHost接口,该接口中有EnumDomains和NextDomain方法,而幸运的是:MSCOREE.DLL中居然直接提供了一个Public的实现:CorRuntimeHostClass。
目录 WPF的消息机制(一)-让应用程序动起来 WPF的消息机制(二)-WPF内部的5个窗口 (1)隐藏消息窗口 (2)处理激活和关闭的消息窗口以及系统资源通知窗口 (3)用于用户交互的可见窗口 (4)用于UI窗口绘制的可见窗口 WPF的消息机制(三)-WPF输入事件的来源 WPF的消息机制(四)-WPF中UI的更新 处理应用程序激活和系统关闭的窗口(Window 2#) 创建时机:在调用Application.Run之后,运行到Application.EnsureHwndSource()方法当中。
前言 在WPF/Silverlight当中,如果已经存在的Element无法满足你特殊的需求,你可能想自定义Element,那么就有可能会面临重写MeasureOverride和ArrangeOverride两个方法,而这两个方法是WPF/SL的Layout系统提供给用户的自定义接口,因此,理解Layout系统的工作机制,对自定义Element是非常有必要的。
总体结构 Designer总体上由三大部分组成:View,ViewModel和Model,这个结构借鉴了流行的MVVM模式。这三部分的职责分工是: View 负责把ViewModel以图形的方式展现出来,它主要在处理画法。
推荐两款神器:Deblector和reflexil Deblector 它的名字是Debug 和 reflector 两个单词的结合。就是用来调试的。 简单的说,它可以像ide一样启动调试进程,或者Attach到一个运行中的进程,并调试他们,设置断点,单步运行,查看变量等等。
目录 WPF的消息机制(一)-让应用程序动起来 WPF的消息机制(二)-WPF内部的5个窗口 (1)隐藏消息窗口 (2)处理激活和关闭的消息的窗口和系统资源通知窗口 (3)用于用户交互的可见窗口 (4)用于UI窗口绘制的可见窗口 WPF的消息机制(三)-WPF输入事件的来源 WPF的消息机制(四)-WPF中UI的更新 WPF内部的5个窗口 对于Windows系统来说,它是一个消息系统,消息系统的核心就是窗口。
介绍 有这样一个需求,当用户双击Tab控件Header区域时, 希望可以直接编辑。对于WPF控件,提供一个ControlTemplate在加上一些Trigger就可以实现。效果如下: 代码 首先,我们需要给Tab Header设计一个ControlTemplate。
前言 谈起“消息机制”这个词,我们都会想到Windows的消息机制,系统将键盘鼠标的行为包装成一个Windows Message,然后系统主动将这些Windows Message派发给特定的窗口,实际上消息是被Post到特定窗口所在线程的消息队列,应用程序的消息循环再不断的从消息队列当中获取消息,然后再派发给特定窗口类的窗口过程来处理,在窗口过程中完成一次用户交互。