C# Winform 開原始檔控制

來源:互聯網
上載者:User

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

面板控制項陳列庫 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歲的那年,我見到了各種各樣的軟體、應用程式和遊戲,而對於我來說,當時根本不可能達到或開發這樣的軟體。然而,從此以後,我學習了許多,如今,我已經能夠很輕易地完成這樣的軟體。而且,如果我能夠協助誰實現絢麗的應用程式,我決定他們可以自由地使用My Code。

背景

此前,我一直在考慮如何做一個全定製的按鈕,以及改變RGB元素究竟有多麼難。我決定做一個能夠提供很多操作顏色的類RibbonColor。如果你運行一下demo程式,並移動Hue,Sat或Brightness的TrackBar,就會很快明白我上面說的。我必須承認接近70%的RibbonControl連結庫已經完成。然而,當人們迫切地希望使用改善過的代碼,並告訴我我沒有對My Code作很多解釋的時候,我決定把自己當作啞巴。:)

8.C# WinForm開發系列 - Grid Controls

9.C# WinForm開發系列 - 文章索引(其它一系列控制項)

10.免費使用者介面控制項 Krypton Toolkit 簡介

Krypton

簡介

Krypton 2.7.1

Krypton 套件 包含了讓開發人員輕鬆建立專業型式應用程式的使用者介面組件。你可以使用內建的模板來完成與工業標準應用程式相同的外觀,諸如 Microsoft Office 2007 。你也可以選擇構建自己的定製模板來建立十分獨特的使用者介面。  Krypton 套件 由三個產品組成: Krypton Toolkit, Krypton RibbonKrypton 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。

當我發現 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)。

這些元素通過 RibbonTabRibbonPanel RibbonItem 類型進行表現。 RibbonItem 是一個為任何承載於 RibbonPanelRibbonDropDown 之上的項提供準系統的抽象類別。

你可以使用 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個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.