DotNetBar for WinForms入门教程(一):DotNetBar TokenEditor WinForms控件入门

DotNetBar for WinForms中的TokenEditor控件是一个高级的文本框控件,它可以解析输入并将其转换为零件集(令牌)。这与现代电子邮件客户端中的电子邮件地址输入文本框非常相似,但更加灵活。

DotNetBar for WinForms是一个拥有89个组件的用户界面控件套包,用户可以使用Visual Studio 2005-2015轻松地创建专业的用户界面。十多年来DotNetBar帮助开发人员轻松地创建易用的专业Windows Forms (WinForms) 用户界面。

点击立即下载DotNetBar for WinForms


DotNetBar for WinForms中的TokenEditor控件是一个高级的文本框控件,它可以解析输入并将其转换为零件集(令牌)。这与现代电子邮件客户端中的电子邮件地址输入文本框非常相似,但更加灵活。每个文本部分的令牌在被接受之前都会经过验证,因此如果未通过验证,则可以将其拒绝。这是此控件的外观示例:

DotNetBar WinForms TokenEditor Control

TokenEditor控件的关键是EditToken对象。用户输入的文本将转换为EditToken并在被接受之前进行验证。EditToken对象使您可以将Value(例如,电子邮件地址)和Text(例如,电子邮件地址的实际名称)与令牌相关联,并在选定时分配要显示在令牌文本旁边的图像或符 。

TokenEditor提供自动完成下拉列表,该列表将根据用户输入进行过滤,并允许您从预定义的令牌列表中选择令牌。TokenEditor.Tokens集合存储下拉列表中显示的EditToken对象的列表:

DotNetBar for WinForms入门教程(一):DotNetBar TokenEditor WinForms控件入门

此代码显示了如何填充令牌集合的示例,因此自动完成弹出窗口将显示值:

// Load data into the TokenEditor for stored already recognized email addressestokenEmails.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集合中。

分隔符和验证

当用户在TokenEditor中输入文本时,控件将监视Separators集合中列出的字符,遇到这些字符时,将对该文本进行解析,将其转换为EditToken对象,并在接受该令牌并将其添加到SelectedTokens集合中之前,将ValidateToken事件设置为 引发您提供修改和验证EditToken对象的机会。默认情况下,分隔符集合的逗 为“,”,分 为“;” 添加了用作标记分隔符的字符。

ValidateToken事件用于在将令牌添加到SelectedTokens集合之前对其进行验证。ValidateTokenEventArgs是事件中提供的事件参数。您可以将IsValid属性设置为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还提供以下属性:

  • IsNewToken –指示令牌是用户输入的文本中新创建的Token还是Tokens集合中的现有Token。
  • Token-返回对EditToken对象的引用,如果通过验证,该引用将添加到SelectedTokens集合中,即IsValid = true(默认设置)。如果需要,可以对此对象执行修改。

TokenEditor作为多选组合框

关键特性

  • BackgroundStyle –返回一个对象,该对象定义控件背景的外观及其边框。
  • CheckBoxesVisible –指示打开弹出窗口时是否在标记列表旁边显示复选框。 与DropDownButtonVisible属性结合使用时,可以创建多选样式组合框控件。
  • DropDownButtonVisible –指示控件内部是否显示下拉按钮,单击该按钮可显示弹出窗口。
  • DropDownHeight –指示自动完成下拉菜单的高度。
  • DropDownWidth –指示自动完成下拉菜单的宽度。
  • EnablePopupResize –指示最终用户是否可以调整自动完成弹出窗口的大小。
  • EnterKeyValidatesToken –指示是否在将Token文本输入到文本框中时按Enter键尝试验证Token并将文本转换为Token。
  • IsPopupOpen –指示是否打开自动完成弹出窗口。
  • MaxHeightLines –表示当AutoSizeHeight = true时,控件将增加到的最大行数。 设置为0表示无限增长。
  • PopupCloseButtonVisible –指示多列弹出窗口关闭按钮是否可见。
  • PreservePopupSize –指示如果最终用户调整弹出窗口的大小,是否在弹出显示之间保留自动完成的弹出窗口大小。
  • ReadOnly –指示最终用户可以添加还是删除Token。默认值为false。
  • RemoveTokenButtonVisible –指示是否在单个Token上显示“删除Token”按钮,以便可以将其从选择中删除。
  • 分隔符–分隔符的集合,用于将输入的文本划分为标记。
  • Tokens–可供选择的Token的集合。

关键事件

  • AutoCompletePopupOpened –打开自动完成弹出窗口后发生。
  • BeforeAutoCompletePopupOpen –在打开自动完成弹出窗口之前发生,并允许您取消打开弹出窗口。
  • RemoveToken –在最终用户从SelectedTokens中删除Token之前发生。
  • SelectedTokensChanged –当SelectedTokens集合更改时发生。
  • ValidateToken –当从自动完成列表中选择一个Token或将最终用户的文本输入解析为令牌以对其进行验证时,将发生ValidateToken。

想要获得DotNetBar for WinForms更多资源、正版授权的伙伴,请咨询【客服】了解

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年1月12日
下一篇 2020年1月12日

相关推荐

发表回复

登录后才能评论