|
包含金額/日期輸入框,帶彈出數(shù)字面板的計(jì)算輸入框,安全密碼輸入等控件(文章及相關(guān)代碼搜集自網(wǎng)絡(luò),僅供參考學(xué)習(xí),版權(quán)屬于原作者! ).
1.CalculatorBox CalculatorBox.rar
3.金額輸入框 currency_textbox.zip CurrencyBox.rar NumberPicker_src.zip NumericTextBox_src.zip NumberedTextbox.rar
4.日期輸入框 DateEdit.rar
6.擴(kuò)展RichTextBox功能 RichTextBoxExtended.zip
8.Anders Cui
Windows Forms中通過自定義組件實(shí)現(xiàn)統(tǒng)一的數(shù)據(jù)驗(yàn)證(一)
Windows Forms中通過自定義組件實(shí)現(xiàn)統(tǒng)一的數(shù)據(jù)驗(yàn)證(二)
Win Form程序中的輸入驗(yàn)證控件
拖放文件中的文本到 textbox 控件
C#挖掘InterNET網(wǎng)絡(luò)域名拓?fù)鋱D
10.Office 2007 Ribbon 風(fēng)格的按鈕和菜單[轉(zhuǎn)載]
翻譯
Juan Pablo G.C.著Improved and Recoded RibbonMenuButton
簡(jiǎn)介
首先,感謝大家。我非常感謝大家對(duì)本文的努力給與了高度的評(píng)價(jià)。我記得當(dāng)我16歲的那年,我見到了各種各樣的軟件、應(yīng)用程序和游戲,而對(duì)于我來說,當(dāng)時(shí)根本不可能達(dá)到或開發(fā)這樣的軟件。然而,從此以后,我學(xué)習(xí)了許多,如今,我已經(jīng)能夠很輕易地完成這樣的軟件。而且,如果我能夠幫助誰實(shí)現(xiàn)絢麗的應(yīng)用程序,我決定他們可以自由地使用我的代碼。
背景
此前,我一直在考慮如何做一個(gè)全定制的按鈕,以及改變RGB元素究竟有多么難。我決定做一個(gè)能夠提供很多操作顏色的類RibbonColor。如果你運(yùn)行一下demo程序,并移動(dòng)Hue,Sat或Brightness的TrackBar,就會(huì)很快明白我上面說的。我必須承認(rèn)接近70%的RibbonControl鏈接庫已經(jīng)完成。然而,當(dāng)人們迫切地希望使用改善過的代碼,并告訴我我沒有對(duì)我的代碼作很多解釋的時(shí)候,我決定把自己當(dāng)作啞巴。:)
如何使用代碼
首先,創(chuàng)建一個(gè)新的Windows應(yīng)用程序。在解決方案瀏覽器中,選擇Add Existing Item選項(xiàng),然后選擇RibbonMenuButton.cs文件,重新編譯你的項(xiàng)目。這時(shí),如果你點(diǎn)擊form designer,在toolbox中,就會(huì)有一個(gè)新的子項(xiàng)RibbonMenuButton。把它拖到你的form上。從表面上看不出控件的特殊性,不過,請(qǐng)看屬性瀏覽器。首先給RibbonMenuButton設(shè)定屬性。
在你設(shè)置完屬性,添加了一個(gè)圖片,設(shè)置好文字,如果有的話,還可以設(shè)置字體為Segoe UI,然后,按鈕就會(huì)變成下面的樣子:
如果你已經(jīng)編譯了項(xiàng)目,并得到了上圖的結(jié)果,接下來的事情就是改變控件的屬性了。讓我們看看每一個(gè)屬性都代表著什么意思。推薦大家看看Demo工程中的按鈕的屬性:
Arrow:在右邊或下面畫一個(gè)箭頭。只有當(dāng)雙double功能設(shè)置在another屬性的時(shí)候,箭頭才會(huì)畫出來。
Colors:我想這個(gè)不需要解釋了;推薦大家使用PlayGround程序選擇你的顏色。
FadingSpeed:顏色間的淡出速度,0不淡出。
GroupPos:在左右上下設(shè)置圓角。
ImageLocation:設(shè)置圖片位置,上下左右。
ImageOffset:圖片相對(duì)邊框的偏移。
MaxImageSize:限制圖片大小,以使得按鈕比圖片大。
Radius:圓角的半徑
ShowBase:如果你想顯示BaseColor 和BaseStroke 顏色,設(shè)置成yes,此處Transparent 是一個(gè)顯示淡出的顏色。
SplitButton:創(chuàng)建一個(gè)雙double功能的按鈕,箭頭打開與之聯(lián)系的ContextMenu 和其它組件。
SplitDistance:箭頭按鈕大小
Title:如果這個(gè)屬性設(shè)置成非空字符串,控件會(huì)自動(dòng)把Title加粗,把text顯示在它的下面。
Text:如果你已經(jīng)設(shè)置了一個(gè)Title,并希望多行顯示文本,在其中加上"/n"。
KeepPress, IsPressed:如果在某些按鈕上激活KeepPress,當(dāng)其中一個(gè)按下的時(shí)候,控制器中的其它控件會(huì)失去ispress屬性。
興趣
如果你想更多地了解這個(gè)控件,推薦看一下這些:
this.Region:這是一個(gè)避免透明事件的好方法。
LinearGradient:當(dāng)多顏色時(shí),它使得漸變更容易。
MeasureString:它用于顯示文本的位置,因?yàn)槟惚仨毴コ齜ase.OnPaint,而自己完成每一件事,包括顯示文字。
TransformColors:包括Alpha opacity的方法
DrawArc:完成圓角部分
OnMouseUp:當(dāng)SplitButton和IsPressed被激活的時(shí)候,完成某些功能。
RibbonColor:計(jì)算公式來自于Wikipedia 和Gimp。系統(tǒng)自帶的System.Drawing.Color.GetHue, Sat 和Brightness不是特別好用。
關(guān)于原文作者 Juan Pablo G.C.
I'm an Electronic Engineer, I did my end degree project at Astrophysical Institute and Tech Institute. I'm HP Procurve AIS and ASE helping at University, and I'm getting ready for Microsoft MCTS.
I live in Canary Islands. At the moment Im developing a CRM software for my company. I'm really interested know people getting the MCTS.
I'm an SQL Server and .NET2.0 intermediate expert.
Take a look to my blog Juan Pablo G.C.
Overrider:http://overrider.blogspot.com/
NET技術(shù):C# WinForm開發(fā)系列 - TextBox,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。