2011-04-16 3 views
2

Я использую ярлык в своей winform. Он отображает значение, которое я вводил в другое текстовое поле. Моя проблема заключается в том, что метка не отображает целые символы, которые я вводил в текстовое поле. Размер метки равен width = 160 и height = 19. Таким образом, он усекает последнее значение. Для целей тестирования, когда я ввожу «W» в колпачки в текстовом поле, ярлык может отображать максимум 13 "W". Поэтому я обрезаю charator's с помощью labelname.substring (0,10); и для следующих трех символов я добавляю 3 точки (...) Но это решение нежелательно для моего старшего. Он говорит мне, что если я введу все маленькие буквы «l» в текстовое поле, то, хотя метка имеет место для отображения более 13 символов, будет отображаться только 13 символов (включая точки). У кого-нибудь есть решение? Я также не могу увеличить ширину или высоту ярлыка, чтобы разместить больше символов.Ограничить количество символов в ярлыке

ответ

3

Ну, вы можете установить для свойства AutoEllipsis значение true и не беспокоиться о длине текста.

Edited добавить: согласно комментариям

Если вы используете RadLabel от Telerik, то вам нужно, чтобы выкопать немного больше:

RadLabel.LabelElement.LabelText.AutoEllipsis 

ничего, что 5 минут, глядя через документация doens't solve

+0

Это не требует Visual Studio 2010. Он также будет работать и в более старых версиях. –

+0

yep ... Я забыл об этом ... он давно был, так как я использовал WinForms в VS2008 .. :-P –

+0

Я использую radlabel ... у него нет свойства AutoEllipsis. –

1

Если я правильно понял ваш вопрос, вы можете использовать свойство Textbox.MaxLength, которое позволяет пользователю вводить максимальное количество символов, на которые установлено значение.

+0

В текстовое поле пользователь не может ввести любое количество символов. Но, пока они отображаются в ярлыке, он отображается в соответствии с указанным выше условием. –

+0

Я думаю, O.P. ссылается на элемент управления Label ... –

+0

Он делает, но он также утверждает, что он вводит текст в текстовое поле. Возможно, я неправильно интерпретировал этот вопрос. –

1

Вы можете установить свойство AutoEllipsis этого ярлыка на true и дать понять это самому.

Получает или задает значение, указывающее, отображается ли многоточие символ (...) на правом краю Label, обозначающий, что текст этикетки выходит за пределы указанной длины этикетки.

+0

Возможно, это могло сработать, если я использовал обычную метку winform, но я работаю над radlabel.Radlabel не имеет такого свойства. –

4

Установите AutoEllipsis property вашего Label на правду. Вы можете сделать это либо в конструкторе, либо по коду:

myLabel.AutoEllipsis = true; 

Это приведет к тому, многоточие характер (...), который будет автоматически добавлен к тексту, если оно переполняет пространство, доступное на этикетке. Вам не придется самостоятельно управлять этим кодом.

Это свойство доступно еще в .NET 3.0.

+0

Я использую radlabel ... у него нет свойства AutoEllipsis –

+0

@Sachin: Я никогда не слышал о «radlabel». Я предполагаю, что это какой-то пользовательский контроль над метками. Что означает, что стандартный элемент управления «Ярлык» не работает?Почему бы не переключиться на тот, который обеспечивает необходимую функциональность? Это доступно прямо из коробки; делает эти сторонние элементы управления довольно бессмысленными. Оставляя важные детали, подобные этому из вашего вопроса, очень сложно получить правильный ответ. –

+0

Хорошо ... Radcontorls являются сторонними конкормами, а radlabel является одним из элементов управления. Я могу перейти к ярлыку окна noraml для моей проблемы выше. Я проверил с меткой Windows, установив ее свойство AutoEllipssi в true, и он работает по мере необходимости. Но есть еще одна проблема, если я использую лейбл winodw, тогда мне нужны закругленные углы для того же самого. У вас есть какое-то решение для этого? –

Смежные вопросы