整理了一些在WinForm开发中可以使用的开源组件.(文章及相关代码搜集自网络,仅供学习参考,版权属于原作者! ).
1. 仿office 2007的Ribbon风格面板(该控件模仿office 2007的Ribbon风格,显示操作面板。)
[翻译]
Mathew Hall.著XPTable - .NET ListView meets Java's JTable
[简介]
由于项目需要,我需要定制一个ListView,它必须能够在列中插入图像、下拉框、可上下调整的数字、进度条等等。由于已经有了一个Java下的背景,我将简单地基于那个JTable封装。
[功能]
全定制可视化界面
支持XP风格
轻易添加再定制的控件
可隐藏列
行、列、单元可以被Disable
每个单元、列可以有Tooltip
等等……
[XPTable]
XPTable包含下面的组件:
1. Table,
2. ColumnModel 和它的 Columns,
3. TableModel 和它的 Row 和 Cell,
4. Renderer
5. Editor
3.OpenTheme一个开源的用户图形界面(GUI)工具包
[翻译]
weiqj.著OpenTheme : An open source graphic user interface (GUI) toolkit
[简介]
OpenTheme是一个基于XML的GUI工具包,它包括一系列基础类和WYSIWYG 编辑器。尽管,它最初的设计是用于全屏GUI的,不过完全适用Windows用户界面。
另外,我给大家准备了一个完全的入门教程。
[翻译]
Jan Geerinckx著Rich OutlookBar in XP and Vista style
[开发环境]
VB
.NET
[简介]
本文中的控件将实现一个XP和Vista风格的Outlook工具栏控件。
[基本结构]
控件中有三个类:
OutlookBarButton类
该类实现了单个的Button实例,其中绘图不包括在这里。
基本成员如下:
Text:如果按钮作为大的按钮显示的时候,文字会显示在上面。如果,按钮显示在最下方,作为小的按钮显示,这些文字会作为Tooltip显示。
Visible:指示按钮是否可见,可以在运行过程中,动态地设置。
Allowed:当设置为False时,这个按钮不可见。在运行的时候,你不可以访问它,可以阻止特定的用户只允许访问特定按钮。
Image:显示在按钮上的图片。最好是24x24或更大的图标。
Rectangle:只在assembly可设。
OutlookBarButtonCollection类:
它继承于CollectionBase,是上述Button的集合。
翻译
Pedro M. C. Cardoso著Vista Controls
简介
Vista控件集(Vista Controls)是一个于微软Windows Vista操作系统下提供新样式控件的一个库。
如果你在.NET 2.0的应用程序中使用了 System.Windows.Forms程序集中的树状图Treeview,列表视图Listview, 打开文件对话框OpenFileDialog, 保存文件对话框SaveFileDialog 和目录浏览对话框FolderBrowserDialog,当你的程序运行于Vista下面的时候,你会发现你的程序风格并没有任何变化,并没有自动调用新的Vista界面风格,还是以前的Windows XP的风格。
在Vista Controls中,你将发现有五个代替的类,它们将使得运行在Vista下面的程序看上去是Vista的样子,而如果你在早期的Windows系统中使用这些程序时,还是以前的风格。这就给你减轻了很大的工作量,很容易你的程序就可以同时适应Vista和以前版本Windows了。
另外,Vista控件集包括了一个新加入Vista的控件:Command Link。因为这个控件在早期的Windows中并不存在,所以当程序运行在这些Windows系统中时,它会模仿Vista风格。
控件
常规对话框
打开文件,保存文件和打开目录对话框
|
7.Office 2007 Ribbon 风格的按钮和菜单[转载]
翻译
Juan Pablo G.C.著Improved and Recoded RibbonMenuButton
简介
首先,感谢大家。我非常感谢大家对本文的努力给与了高度的评价。我记得当我16岁的那年,我见到了各种各样的软件、应用程序和游戏,而对于我来说,当时根本不可能达到或开发这样的软件。然而,从此以后,我学习了许多,如今,我已经能够很轻易地完成这样的软件。而且,如果我能够帮助谁实现绚丽的应用程序,我决定他们可以自由地使用我的代码。
背景
此前,我一直在考虑如何做一个全定制的按钮,以及改变RGB元素究竟有多么难。我决定做一个能够提供很多操作颜色的类RibbonColor。如果你运行一下demo程序,并移动Hue,Sat或Brightness的TrackBar,就会很快明白我上面说的。我必须承认接近70%的RibbonControl链接库已经完成。然而,当人们迫切地希望使用改善过的代码,并告诉我我没有对我的代码作很多解释的时候,我决定把自己当作哑巴。:)
8.C# WinForm开发系列 - Grid Controls
9.C# WinForm开发系列 - 文章索引(其它一系列控件)
10.免费用户界面控件 Krypton Toolkit 简介
Krypton | |
简介 |
Krypton 2.7.1
Krypton 套件 包含了让开发人员轻松创建专业外观应用程序的用户界面组件。你可以使用内置的模板来完成与工业标准应用程序相同的外观,诸如 Microsoft Office 2007 。你也可以选择构建自己的定制模板来创建十分独特的用户界面。 Krypton 套件 由三个产品组成: Krypton Toolkit, Krypton Ribbon 和 Krypton Navigator。(译者注:在安装 Krypton 套件 后,包含了程序集、帮助文档、模板、示例及其源代码,并把程序集中的组件添加到 Visual Studio 2005(或2008)开发环境的工具箱中,同时添加 Krypton Form Project、Krypton ToolStrip Form Project 和 Krypton Ribbon Form Project 项目模板。 Krypton 套件 提供了 Office 2007 蓝色、Office 2007 银色、Office 2007 黑色、Office 2003 、System 等配色模板,易于与 .NET 的工具栏、菜单栏、状态栏等控件组合使用)
下载地址(下载解压缩后只需要安装 KryptonToolkit271.msi): windowsclient.net 上的下载
或者: http://www.componentfactory.com/downloads/KryptonToolkit271.zip
Krypton Toolkit
Krypton Toolkit 提供了一组免费的基础用户界面组件。你可以在自己的产品中分发已签名的 Krypton Toolkit 程序集 ,无需付费或经过许可。如果你想查看或修改源代码,你可以在 Component Factory 网站上购买,请查看页末的链接。
[翻译]
Collapsible Panel control
该控件拥有类似Windows XP 的资源浏览器中左边的可伸缩面板的功能。
[简介]
该控件可以包括多个视图,当你点击面板的标题栏时,它可以自动伸缩下面的面板。你可以自己设置它的标题栏图标、定制伸展/收缩按钮。另外,有几种不同的类型标志,用于定制面板的界面和行为。
当你点击一个面板的时候,你将在主窗口收到WM_COMMAND消息的通知,它会告诉你面板真被伸展还是收缩。当然,你也可以设定不让它自动缩放。
控件还允许自绘图像(ownerdrawn),你可以捕获WM_DRAWITEM消息,然后绘制自己的按钮图像。
由于性能的考虑,控件内部把按钮图像绘制在一个位图中,这样就可以保证迅速地把它显示到界面上。为了防止闪烁,在绘制过程中使用了memory DC。
作者: Jose M. Menendez Poó
翻译: Yuxiang
发表日期: 2008-5-8
更新日期: 2008-5-29
简介
由于在网站上缺少好的免费的 Ribbon 控件,我决定自己编写一个。我分析了以前(包括那些在 CodeProject 上)的 ribbon 控件的工作机制。很不幸,大多数已有的控件只是差劲的尝试。为什么这样说?因为它们有些缺少好的绘制,有些缺少改变大小的功能,有些几乎是什么都缺。当然,已开发的好的 Ribbon 控件需要付费。这个 ribbon 是免费的。
为什么不使用 WPF?主要的原因是我需要把 Ribbon 添加到已有的 WinForms 应用程序中。依我看来,这不是“不”使用WPF,而是“还没有”使用。无论如何,你可以在WPF 中承载(host) 一个 WinForms 控件(参阅 http://msdn.microsoft.com/en-us/library/ms750944.aspx)。
一些设计目标
实现 — 此 ribbon 包含在一个 Control 窗口中,它内部的每个元素作为控件内部的一系列 bounds 管理,就像 ToolStrip 控件那样。 尽管从 ribboon 的内部代码来管理是困难的,但是这是让它保持最佳实现 ribbon 的一种方式。 相信我,下载演示程序,运行它并改变窗体的大小。它完成得很漂亮。
与 Office ribbon 的一致性 — 我曾经读过有关 Jakob Nielsen 讲述的大多数用户更喜欢所使用的程序看起来像 Word, Excel 或 Powerpoint。这相关明显,因为人们每天都使用这些软件。视觉效果与 office 的 ribbon 一致是非常重要的,因为人们已经知道期待什么,并且那是有益的用法。 我尝试让每个 Ribbon 中的元素的外观及行为严格地与 Office 的 ribbon 一致。
易于为程序员使用 — 组件命名与大多数 WinForms 命名系统一致, 更多的使用 ToolStrip 元素。为类似的元素的属性,事件和方法命名就像在 ToolStrip 的工艺项那样。
设计时刻支持 — 我将会添加越来越多的设计时刻支持,因此你可以在设计器中 100% 地管理这个 ribbon。
当我发现 bugs 或者你乐于让我知道它们,我将会提供 更新 和 修正 。
使用 Ribbon
此 ribbon 位于 System.Windows.Forms
命名空间,就像其它控件,我想使用诸如 MyCoolFirm.MyCoolNameSpace.MyCoolSubNameSpace
等的控件命名方式是让人不爽的(请仅为商业对象进行这样的命名)。
你可以添加对已经编译的 dll (System.Windows.Forms.Ribbon.dll )的引用,或者你可以直接复制源码文件到你的项目文件夹中。现在代码已设计好,你可以只复制源码文件,不需要任何额外的资源。
快速指南
此 ribbon 主要由三种元素组成:标签(tabs),标签上的面板(panels on the tabs,其他开发人员称它们为组),以及在面板内部的项目(items inside the panels)。
这些元素通过 RibbonTab
, RibbonPanel
和 RibbonItem
类型进行表现。 RibbonItem
是一个为任何承载于 RibbonPanel
或 RibbonDropDown
之上的项提供基本功能的抽象类。
你可以使用 Ribbon 的智能标记来添加标签,可以通过选定标签并调用在属性表底部的“Add Panel(添加面板)”动作来添加标签的面板。
Ribbon 上的元素依据可用的 ribbon 空间来调整大小。这是 ribbon 的关键特征。通过调整大小,它试图把所有可用的命令都显示在屏幕上,而不是在溢出的按钮上隐藏它们(就像旧式的 ToolStrip 那样)。
我使用三种尺寸来处理:Large(大), Medium(中等) 和 Compact(紧凑)。一个附加的尺寸用于面板,因为面板可以被折叠,然后它们采用 Overflow 大小模式。
13.甘特图绘制组件
翻译
Adagio.81. 著Gantt Chart
简介
该组件可以使你简单地把甘特图加入你的应用程序。你只需要3行代码就可以做到了。
这个甘特图(Gantt Chart)包括下面的特征:
1. 列的宽度自动根据组件的宽度和起始结束时间调整,如果日期之间多于2天,控件只会显示日期,否则还会显示时间。
2. 你可以给每个bar设置颜色
3. 自动显示滚动条
4. 当鼠标停到上面时,自动显示信息
5. 很容易地使用多行提示框文本
15.The Code Project (推荐站点, 资源很丰富)
作者:peterzb(个人开发历程知识库 - 博客园)
出处:http://peterzb.cnblogs.com/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。