2012-08-09 9 views
1

최대 1000 자까지만 내 레이블을 제한하고 싶습니다. 어떻게 이것을 달성 할 수 있습니까? 도와주세요 ...asp 레이블 최대 글자 수 제한은 1000 자입니다.

+1

을 출력합니까? if (text.length> 1000)를 할당하기 전에 확인한 다음에 – Karl

+0

어떻게 라벨에 텍스트를 넣으시겠습니까? 우리는 직접 배치 할 수 없습니다. 레이블 텍스트 나 다른 유사한 방법으로 문자열을 지정해야합니다. 텍스트 상자에 텍스트를 입력하는 것과 같습니다. ??? –

답변

3

티르이 코드 :

이미 @Curt 언급 한 바와 같이
string str = "Characters..."; 
if(str.length > 1000) 
{ 
    str = str.SubString(0, 1000); 
} 
lbl.Text = str; 
+0

먼저 길이를 검사해야합니다. 그렇지 않으면'ArgumentOutOfRangeException'을 얻을 수 있습니다 - 인덱스와 길이는 문자열 내의 위치를 ​​참조해야합니다. – musefan

+0

질문 요구 사항이 비슷하지 않습니다. –

+1

질문에 관심이 없습니다. downvote는 나쁜 코드 용이었습니다 (지금 제거했습니다). – musefan

3

레이블의 길이를 제한 할 방법이 없지만 레이블에 사용자 입력이 없으므로 할당 할 문자열 속성을 제한 할 수 있습니다.

string s = "long string..."; 
if (s.length > 1000){ 
    s = s.SubString(0, 1000); 
} 
lblMyLabel.Text = s; 
+2

if()가 필요하지 않습니다. 다음과 같이 할 수 있습니다 : lblMyLabel.Text = "string".Substring (0,1000); – ydd1987

+3

@yohannesdedope 두 번째 매개 변수가 문자열 길이보다 길면 'SubString'에서 오류가 발생합니다. – Curt

+1

@yohannesdedope : 좋은 코드를 작성하고 싶다면'if()'가 필요합니다. 각자 자신의 것이지만 – musefan

1

레이블은 입력이 아니지만 제한을 초과하는 경우 길이를 1000 자로 줄일 수 있습니다. 라벨을 가정

const int limit = 1000; 
label.Text = label.Text.Length>limit ? label.Text.SubString(0,limit) : label.Text; 

라벨 라고

+1

복잡한 이상, 그냥 부분 문자열 않습니다. – weston

+0

@ weston 나는 3 진 성명서를 더 간단하게 할 수는 있지만, 길이를 확인하여 레이블 길이가 1000보다 작아서 ArgumentOutOfRangeException이 던지지 않도록해야한다고 동의하지 않는다. – Scott

+0

네가 맞아, 미안하지만, 우리 중 똑같이 말했고, 우리 중 누구도 그것을 테스트하지 않았습니다! – weston

2

는 라벨에 직접적인 사용자 상호 작용이 없다 (같은 예를 들어 텍스트 상자에 있음), 서버의 문자열 길이를 제한해야합니다. 이것은 무엇을 당신이 뭔가처럼 호출 할 수 있습니다

다음
public string FormatText(string text, int len, string suffix) 
{ 
    if (len != -1 && text.Length > len) 
    { 
     int pos = text.LastIndexOfAny(" ,.".ToCharArray(), len); 
     if (pos == -1) 
      pos = len; 
     text = text.Substring(0, pos) + suffix; 
    } 
    return text; 
} 

이미 주어진 답변에 여분의 비트, 이것이 내가 사용하는 코드이므로

...

lblMyLabel.Text = FormatText(myText, 1000, "...") 

입니다 중간에 잘린 단어를 멈추고, 불행히도 불행히도 상황을 예방하십시오. 예를 들어, 텍스트에 he is an assistant이 포함될 수 있으며 정확히 1000 자에서 he is an ass을 생성합니다. 내 코드는 언제 또는 어떻게 할당합니까 he is an...

+0

Fair point @weston ...이 함수는 제 시스템의 함수 라이브러리의 일부이며, 때로는 길이가 구성을 통해 설정됩니다. .. "나는 어떤 제한도 원하지 않는다"고 말하기 위해 -1로 설정을 할 수있는 방법 일뿐입니다. – freefaller

+0

나는 이해를 철회합니다. 좋은 기능. +1 – weston

관련 문제