전문 프로그래밍 언어의 코드 편집기 인 내 응용 프로그램 (C++/cli - .net2.0)에 줄 번호를 추가해야합니다.기능과 같은 '회선 번호'를위한 좋은 요리법
내 솔루션 성능에 문제가 있습니다. 나는 다음과 같이했다, 내 _rtbCode 제어의 모든 TextChanged 이벤트에 대해이 기능이 발사된다
_tbLineNumbers 라인 번호를 넣어 텍스트 상자가void DocumentElement::SetupLineNumbersCount() {
StringBuilder ^builder = gcnew StringBuilder();
if(_tbLineNumbers->Lines->Length > _rtbCode->Lines->Length) {
for(int i = 0; i <= _rtbCode->Lines->Length;) {
if(i != 0) builder->Append("\r\n");
builder->Append(++ i);
builder->Append(".");
}
_tbLineNumbers->Text = builder->ToString();
}
else if(_tbLineNumbers->Lines->Length < _rtbCode->Lines->Length) {
builder->Append(_tbLineNumbers->Text);
for(int i = _tbLineNumbers->Lines->Length; i < _rtbCode->Lines->Length;) {
builder->Append("\r\n");
builder->Append(++ i);
builder->Append(".");
}
_tbLineNumbers->Text = builder->ToString();
}
}
. 이것은 너무 느립니다 (다른 코드 편집기와 비교해 보았습니다). 나는 몇 줄 (약 10000)을 붙이려고 노력했다. 그리고 나는 반응의 거대한 지연을 가지고있다. 이 기능이 애플리케이션에서 병목 현상이 될 수 있다고 생각합니다.이를 개선하는 방법은 없습니다. 도움을 받으십시오. - 일부 조언. 들으 해피 크리스마스 :
(내가 거기 : How to print line numbers for textbox in c#)
코드 파일에 줄 번호가 나타나야합니까? 또한 프로그래밍 언어에 코드 블록 구분 기호가 있습니까? – ChrisBD
아니요, 줄 번호 매기기는 장식용으로 만 사용되며 코드 파일에는 포함되어 있지 않습니다. –