翻譯|使用教程|編輯:況魚杰|2020-03-16 14:49:04.310|閱讀 2215 次
概述:DotNetBar for WinForms中的TokenEditor控件是一個高級的文本框控件,它可以解析輸入并將其轉(zhuǎn)換為零件集(令牌)。這與現(xiàn)代電子郵件客戶端中的電子郵件地址輸入文本框非常相似,但更加靈活。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
DotNetBar for WinForms是一個擁有89個組件的用戶界面控件套包,用戶可以使用Visual Studio 2005-2015輕松地創(chuàng)建專業(yè)的用戶界面。十多年來DotNetBar幫助開發(fā)人員輕松地創(chuàng)建易用的專業(yè)Windows Forms (WinForms) 用戶界面。
DotNetBar for WinForms中的TokenEditor控件是一個高級的文本框控件,它可以解析輸入并將其轉(zhuǎn)換為零件集(令牌)。這與現(xiàn)代電子郵件客戶端中的電子郵件地址輸入文本框非常相似,但更加靈活。每個文本部分的令牌在被接受之前都會經(jīng)過驗證,因此如果未通過驗證,則可以將其拒絕。這是此控件的外觀示例:
TokenEditor控件的關(guān)鍵是EditToken對象。用戶輸入的文本將轉(zhuǎn)換為EditToken并在被接受之前進行驗證。EditToken對象使您可以將Value(例如,電子郵件地址)和Text(例如,電子郵件地址的實際名稱)與令牌相關(guān)聯(lián),并在選定時分配要顯示在令牌文本旁邊的圖像或符號。
TokenEditor提供自動完成下拉列表,該列表將根據(jù)用戶輸入進行過濾,并允許您從預(yù)定義的令牌列表中選擇令牌。TokenEditor.Tokens集合存儲下拉列表中顯示的EditToken對象的列表:
此代碼顯示了如何填充令牌集合的示例,因此自動完成彈出窗口將顯示值:
// Load data into the TokenEditor for stored already recognized email addresses tokenEmails.Tokens.Add(new EditToken("shawnsmith@yahoo.com", "Shawn Smith")); tokenEmails.Tokens.Add(new EditToken("petebarley@gmail.com", "Pete Barley")); tokenEmails.Tokens.Add(new EditToken("tobyhuck@email.com", "Toby Huck")); tokenEmails.Tokens.Add(new EditToken("stevenratcliffe@proliancelimited.com", "Steven Ratcliffe")); tokenEmails.Tokens.Add(new EditToken("dennissmith@gmail.com", "Dennis Smith"));將令牌輸入為文本并進行解析和驗證后,它將存儲在TokenEditor.SelectedTokens集合中。
分隔符和驗證
當(dāng)用戶在TokenEditor中輸入文本時,控件將監(jiān)視Separators集合中列出的字符,遇到這些字符時,將對該文本進行解析,將其轉(zhuǎn)換為EditToken對象,并在接受該令牌并將其添加到SelectedTokens集合中之前,將ValidateToken事件設(shè)置為 引發(fā)您提供修改和驗證EditToken對象的機會。默認(rèn)情況下,分隔符集合的逗號為“,”,分號為“;” 添加了用作標(biāo)記分隔符的字符。
ValidateToken事件用于在將令牌添加到SelectedTokens集合之前對其進行驗證。ValidateTokenEventArgs是事件中提供的事件參數(shù)。您可以將IsValid屬性設(shè)置為false以拒絕令牌,例如,如果您正在驗證電子郵件地址,則代碼將如下所示:
Regex _MailRegex = new Regex(@"^[-a-z0-9!#$%&'*+/=?^_`{|}~]+(?:\.[-a-z0-9!#$%&'*+/=?^_`{|}~]+)*@(?:[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])?\.)*(?:aero|arpa|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|[a-z][a-z])$", RegexOptions.Compiled); private void tokenEmails_ValidateToken(object sender, DevComponents.DotNetBar.Controls.ValidateTokenEventArgs ea) { // Validate email address before allowing it into the SelectedTokens collection ea.IsValid = _MailRegex.IsMatch(ea.Token.Value); }ValidateTokenEventArgs還提供以下屬性:
從DotNetBar的12.2版本開始,就在Token編輯器控件中添加了功能,因此您可以將其用作多選組合框控件。為此,只需將CheckBoxesVisible和DropDownButtonVisible屬性設(shè)置為true,即可在Token編輯器中獲得下拉按鈕,以顯示帶有項目選擇的彈出窗口,并且彈出窗口將使用復(fù)選框指示當(dāng)前選擇并允許選擇/取消選擇項目。由于默認(rèn)情況下TokenEditor允許通過鍵盤輸入項來輸入新項,以禁止簡單地處理ValidateToken事件,并且如果事件參數(shù)IsNewToken屬性為true,則將IsValid = false設(shè)置為拒絕新項…
關(guān)鍵特性
關(guān)鍵事件
關(guān)注慧聚IT微信公眾號???,了解產(chǎn)品的最新動態(tài)及最新資訊。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: