开发者社区> 长征2号> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

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

image

4.一个XP和Vista风格的Outlook工具栏控件

[翻译]
Jan Geerinckx著Rich OutlookBar in XP and Vista style


Outlook工具栏控件


[开发环境]
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


面板控件库 XPanderControls
作者: 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,SatBrightnessTrackBar,就会很快明白我上面说的。我必须承认接近70%的RibbonControl链接库已经完成。然而,当人们迫切地希望使用改善过的代码,并告诉我我没有对我的代码作很多解释的时候,我决定把自己当作哑巴。:)

 

8.C# WinForm开发系列 - Grid Controls

9.C# WinForm开发系列 - 文章索引(其它一系列控件)

10.免费用户界面控件 Krypton Toolkit 简介

Krypton
简介

Krypton 2.7.1

 Krypton 套件 包含了让开发人员轻松创建专业外观应用程序的用户界面组件。你可以使用内置的模板来完成与工业标准应用程序相同的外观,诸如 Microsoft Office 2007 。你也可以选择构建自己的定制模板来创建十分独特的用户界面。  Krypton 套件 由三个产品组成: Krypton ToolkitKrypton 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

VC++可伸缩面板控件

 

12.一个专业的 Ribbon 控件

 

作者: 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. 很容易地使用多行提示框文本

 

14.Windows Forms .NET

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


本文转自peterzb博客园博客,原文链接:http://www.cnblogs.com/peterzb/archive/2009/06/21/1507880.html,如需转载请自行联系原作者。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
ARM中swi(软中断)
swi 是 arm 的软件中断指令,大概是 software interrupt 的意思 执行完swi指令后,cpu会做几件事情: 将swi的下一条指令地址保存到 r14_svc 中 将当前 cpsr 保存到 spsr_svc 中 将cp...
1357 0
opensource dpi
http://www.networksecuritytoolkit.org/nst/index.
1056 0
移动网站开发——CSS
上一篇我们谈到了移动网站中的标签,想必很多人也很想了解Mobile CSS的情况吧,本文将和大家一起探讨移动网站中的CSS标准。 介绍 Mobile css的标准也是有些复杂的,与前一篇文章中提到的类似,之前存在着一个W3C制定的CSS Mobile Profile 1.0以及OMA的WAP CSS 1.0,事实上它们都是CSS 2.1的子集,而且内容非常接近,不同的是,WAP CSS 1.0针对移动设备加入了一些扩展,这些扩展通过-wap-前缀来实现。
774 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
OPEN SOURCE
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载