2011-04-16 119 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