richtextbox를 사용하고 있으므로 굵은 글씨와 간단한 내용을 표시하고 싶습니다. 확장자가 .rtf 인 파일을 하나 만들었습니다. 이제 richtextbox에서 richtextbox의 파일을로드합니다. Loadfile() 함수. 이것은 작동합니다. 하지만 richtextbox에 파일의 특정 내용을 표시하려고합니다. 예를 들어, 처음 5 행이 될 수도 있고, 행 번호가 아닐 수도 있습니다. 6에서 10까지입니다. 그렇다면 해결책이 있습니까?richtextbox의 특정 내용
답변
아주 깨끗하지는 않을 수도 있습니다. 이 코드는 다른 RTB를 사용하여 파일과 클립 보드를로드하여 서식이 지정된 RTF를 가져옵니다. 그것이 클립 보드 내용을 파괴한다는 것을주의하십시오.
using (var helper = new RichTextBox()) {
helper.LoadFile(@"c:\temp\test.rtf");
// Copy line #6
int startRange = helper.GetFirstCharIndexFromLine(5);
int endRange = helper.GetFirstCharIndexFromLine(6);
helper.SelectionStart = startRange;
helper.SelectionLength = endRange - startRange;
helper.Copy();
}
richTextBox1.SelectAll();
richTextBox1.Paste();
라인 속성을 사용해 보셨습니까? RichTextbox 내용으로 set/get 문자열 배열을 사용할 수 있습니다.
이것은 서식을 유지하지 않지만 Lines 배열을 조작하는 방법을 보여줍니다.
var fromStart = new string[richTextBox1.Lines.Length - start];
Array.Copy(richTextBox1.Lines, start, fromStart, 0, fromStart.Length);
var lineSet = fromStart.Take(count).ToArray();
richTextBox1.Lines = lineSet;
시작과 카운트가 라인의 세트를 선택이 함수에 전달되는 다음를 RichTextBox가 이기적으로 자신에게 모든 RTF 코드를 유지에만 라인을 통해 텍스트를 노출 것 같습니다.
좋은 시도이지만, 그것이 받아 들여지는 대답이 아닐 것이라고 생각합니다. 그의 요구 사항은 서식을 유지하는 것 (나는 다른 질문에 대한 그의 의견에서 이것을 발견했다)이다. –
ReadAllLines
사용하여 해결 방법 :
string[] lines = File.ReadAllLines(filename);
int startLine = lines.IndexOf(startMarker);
int endLine = lines.IndexOf(endMarker);
if (startLine == -1 || endLine == -1)
{
// throw some sort of exception - the markers aren't present
}
string[] section = new string[endLine - startLine - 1];
Array.Copy(lines, startLine + 1, section, 0, section.Length);
richTextBox.Rtf = string.Join("\r\n", section);
ReadAllText
사용하여 해결 방법 :
string text = File.ReadAllText(filename);
int startIndex = text.IndexOf(startMarker);
int endIndex = text.IndexOf(endMarker, startIndex + startMarker.Length);
if (startIndex == -1 || endIndex == -1)
{
// throw some sort of exception - the markers aren't present
}
richTextBox.Rtf = text.Substring(startIndex + startMarker.Length,
endIndex - startIndex - startMarker.Length);
이 모두가 당신이 정말로 비록 파일의 해당 섹션의 완전한 RTF 문서를 가지고 있다고 가정 - 당신이 잘 할 수있다 추가 헤더 텍스트가 필요하다는 것을 알게됩니다. 또한 파일이 UTF-8이라고 가정합니다. 그게 맞는지 RTF 형식에 대해 충분히 알지 못합니다.
@sir Jon Skeet 오류가 발생합니다 - 파일 형식이 유효하지 않습니다 - 마지막 줄에 있습니다. – Harikrishna
이 코드는 파일에 RTF가 아닌 일반 텍스트가 포함 된 경우에만 작동합니다. 어떤 경우에는 Rtf 속성이 아닌 Text 속성을 지정해야합니다. –
@nobugz : 마커로 구분 된 RTF가 포함되어있는 경우 왜 실패합니까? @ 하리 크리슈나 : 이것은 마지막 단락에서 설명한 바와 같이 마커 사이에 완전한 유효한 RTF 문서가 아니라는 것을 의미합니다. –
- 1. UITextView의 특정 줄 내용
- 2. PHP - 배열의 특정 내용 출력
- 3. RichTextBox의 FIFO 메커니즘
- 4. WinForms RichTextBox의 이미지 문제
- 5. RichTextBox의 링크가있는 RTF
- 6. RichTextBox의 사용자 정의 링크
- 7. RichTextBox의 비밀번호 char
- 8. WPF RichTextBox의 단락 서식?
- 9. WPF Richtextbox의 텍스트 바꾸기
- 10. RichTextBox의 Adorner 레이어 인쇄
- 11. RichTextBox의 컨텍스트 메뉴에있는 캐럿
- 12. RichTextBox의 스크롤 막대 숨기기
- 13. RichTextBox의 섭씨 기호
- 14. Alt + richtextbox의 키
- 15. WPF TextBox와 RichTextBox의 조합
- 16. RichtextBox의 텍스트 서식 지정 WPF
- 17. Silverlight 4 RichTextBox의 xaml 설정
- 18. 업데이트 MYSQL 및 SET 특정 행의 내용
- 19. BeautifulSoup : 특정 테이블의 내용 가져 오기
- 20. 특정 스크롤 위치에서 내용 숨기기/표시
- 21. 특정 키워드에 대한 PHP 검색 내용
- 22. jquery 특정 문자열 앞의 내용 필터링
- 23. PHP - HTML의 특정 지점에 내용 삽입
- 24. Richtextbox의 문서를 가장 잘 맞 춥니 다
- 25. WPF 아니요 RichTextBox의 컨트롤에서 이벤트가 발생했습니다.
- 26. WPF RichTextBox의 표시 가능 영역을 찾으려면 어떻게합니까?
- 27. MS Access 및 RichTextBox의 도움이 필요하십니까
- 28. richtextbox의 수직 스크롤바의 최대 값을 얻으려면 어떻게해야합니까?
- 29. userControl에서 richTextBox의 PreviewKeyDown 이벤트에 대한 액세스
- 30. C#에서 richtextbox의 커서 위치를 표시하는 방법
how ?????????????????? – Harikrishna
ProfK 답장을 시도하십시오. 그는 Lines 속성을 사용하고 있습니다. – Anuraj
Ja,하지만 내가 편집에서 말했듯이, 형식을 올바르게 보존하지는 않습니다. – ProfK