您的位置:首页 > 编程语言 > C#

C# WinForm开发系列 - Open-Source Controls

2013-03-23 19:43 162 查看


C# WinForm开发系列 - Open-Source Controls

整理了一些在WinForm开发中可以使用的开源组件.(文章及相关代码搜集自网络,仅供学习参考,版权属于原作者! ).

 
1. 仿office 2007的Ribbon风格面板(该控件模仿office 2007的Ribbon风格,显示操作面板。)



2. .NET中最全功能的表格控件
[翻译]

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用户界面。

另外,我给大家准备了一个完全的入门教程



4.一个XP和Vista风格的Outlook工具栏控件
[翻译]
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的集合。
 
5.使用Vista风格的控件.NET 2.0
翻译
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风格。
控件
常规对话框
打开文件,保存文件和打开目录对话框


 
6.面板控件库 XPanderControls

 
[align=center]面板控件库 XPanderControls[/align]
作者: Uwe Eichkorn

翻译: [yn]Yuxiang

本文介绍一个可对子控件分组的可扩展面板控件库的使用。
C# (C# 2.0)

Windows (Win2K, WinXP, Vista), .NET (.NET 2.0)

Win32, VS (VS2005)

Dev
发表日期: 2007-4-13
更新日期: 2007-9-29 
下载源代码和演示文件(http://www.codeproject.com/useritems/XPanderControls/xpandercontrols.zip)
- 177.8 KB
 原文:XPanderControls
译者注:(另外,限于篇幅,译文的大部分插图没有贴上来,请下载译文查看)
(1)在解压缩源代码后,建议把源码文件的只读属性取消,避免在保存时出现警告对话框
(2)在第一次打开解决方案后,需要先生成控件库 BSE.Windows.Forms.dll,否则演示窗体 Form1.cs 不能被打开

(3)在启动调试前,请把 BSE.Windows.Test 项目设置为启动项目

(4)请注意:在使用 RightToLeft 功能时,在运行时刻,会产生错误(imageList2 控件初始,请参阅下面的相关说明),请关注作者的更新



简介

XPander 控件库提供了把多个用户控件放置在单个容器中的机制。可以随意地显示或隐藏它。 Xpander 控件追随 MS Outlook 的视觉风格。所有控件都支持可视化设计器、智能标记和 RightToLeft 功能。面板的使用与 toolstripenders 相关联,可形成有趣的视觉效果。

面板风格(Panel styles)

在演示项目中,面板的风格可以通过在 tooltrip 中的组合框进行更改。

水溶效果(Aqua effects)

Office2007 效果(Office2007 effects)

在可视化设计器中,面板颜色和属性都是可以定制和改变的。
 
当 RightToLeft 属性值被设置为 RightToLeft.Yes 时,控件元素的水平对齐方式就改变为从右向左。
 
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 网站上购买,请查看页末的链接。



11.仿XP资源管理器中的可伸缩面板控件
 
[翻译]
Collapsible Panel control

该控件拥有类似Windows XP 的资源浏览器中左边的可伸缩面板的功能。

[简介]

该控件可以包括多个视图,当你点击面板的标题栏时,它可以自动伸缩下面的面板。你可以自己设置它的标题栏图标、定制伸展/收缩按钮。另外,有几种不同的类型标志,用于定制面板的界面和行为。

当你点击一个面板的时候,你将在主窗口收到WM_COMMAND消息的通知,它会告诉你面板真被伸展还是收缩。当然,你也可以设定不让它自动缩放。

控件还允许自绘图像(ownerdrawn),你可以捕获WM_DRAWITEM消息,然后绘制自己的按钮图像。

由于性能的考虑,控件内部把按钮图像绘制在一个位图中,这样就可以保证迅速地把它显示到界面上。为了防止闪烁,在绘制过程中使用了memory DC。



 
12.一个专业的 Ribbon 控件
 
作者: Jose M. Menendez Poó
翻译: Yuxiang

 发表日期: 2008-5-8
更新日期: 2008-5-29
下载演示程序 
下载源代码(http://www.codeproject.com/KB/toolbars/WinFormsRibbon.aspx) 



简介

由于在网站上缺少好的免费的 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。
db70
当我发现 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. 很容易地使用多行提示框文本



 
14.Windows Forms .NET
15.The Code Project (推荐站点,
资源很丰富)

作者:peterzb(个人开发历程知识库
- 博客园)

出处:http://peterzb.cnblogs.com/

文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

分类: C#
标签: ChartC#WinFormDataGridView

绿色通道: 好文要顶 关注我 收藏该文
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C# winform