2011-04-16 120 views
2

我在我的winform中使用标签。它显示我在另一个文本框中输入的值。我的问题是标签不显示我在文本框中输入的整个字符。标签的大小是宽度= 160和高度= 19。所以它截断了最后一个值。为了测试目的,当我在文本框中输入“W”时,标签最多可显示13“W”。所以我通过使用labelname.substring(0,10)修剪 特性。对于接下来的三个字符,我追加了3个点(...) 但是,这种解决方案对我的老大来说并不合适。他告诉我,如果我在文本框中输入所有小写字母“l”,那么虽然标签有足够的空间来显示13个以上的字符,但它只会显示13个字符(包括点)。 有没有人有解决方案?我也不能增加标签的宽度或高度来容纳更多的字符。标签中的字符数限制

回答

3

那么,您可以将AutoEllipsis属性设置为true,并且不必担心文本的长度。

编辑补充按照意见

如果您使用RadLabel从Telerik的,那么你需要挖掘更多一点:

RadLabel.LabelElement.LabelText.AutoEllipsis 

没有什么,通过寻找5分钟文档doens't求解

+0

这不需要Visual Studio 2010.它也可以在旧版本中使用。 – 2011-04-16 09:53:22

+0

是的...我忘了它...它已经很长时间了,因为我在VS2008中使用WinForms .. :-P – 2011-04-16 09:56:23

+0

我正在使用radlabel ...它没有AutoEllipsis属性。 – 2011-04-16 09:56:40

1

如果我正确理解您的问题,则可以使用Textbox.MaxLength属性,该属性只允许用户输入您设置该值的最大字符数。

+0

没有用户可以在文本框中输入任意数量的字符。但是,在标签中显示它们是按照上述条件显示的。 – 2011-04-16 09:52:19

+0

我认为O.P.提到'Label'控件... – 2011-04-16 09:52:28

+0

他确实,但他也说他将文本输入到文本框中。也许我错误地解释了这个问题。 – 2011-04-16 09:53:16

1

您可以将标签的AutoEllipsis属性设置为true并让它自行计算出来。

获取或设置指示 省略号字符(...) 是否出现在 标签的右侧边缘,表示该标签文本 延伸超过 标签指定的长度的值。

+0

可能这工作,如果我使用正常的winform标签,但我正在radlabel.Radlabel没有这样的属性。 – 2011-04-16 09:54:22

4

将您的Label控件的AutoEllipsis property设置为true。你可以做到这一点无论在设计,或通过代码:

myLabel.AutoEllipsis = true; 

这将导致省略号(...),如果它溢出在标签中的可用空间被自动添加到文本。你根本不需要自己管理代码。

此属性早在.NET 3.0中可用。

+0

我正在使用radlabel ...它没有AutoEllipsis属性 – 2011-04-16 10:02:53

+0

@Sachin:我从来没有听说过“radlabel”。我认为这是某种自定义标签控制。它提供了什么标准'标签'控制不?为什么不切换到提供所需功能的产品?这可以立即使用;使这些第三方控件看起来毫无意义。忽略你问题中的重要细节使得很难得到正确的答案。 – 2011-04-16 10:04:21

+0

好的... Radcontorls是第三方控件,radlabel是控件之一。我可以移动到诺拉姆窗口标签为我的上述问题。我通过将它的AutoEllipssi属性设置为true来检查windows标签,并且按照我的需要工作。但是如果我使用winodw标签,还有另一个问题,那么我需要相同的圆角。你有任何解决方案? – 2011-04-16 10:19:34