2014-04-22 7 views
1

를 RichTextBox 텍스트는 다음과 같습니다리치 텍스트 상자에서 굵은 선을 반복하는 방법은 무엇입니까?

시도 코드 :

출력은 필수
for I as integer=0 to richtextboxBold.lines.length-1 

    If islineBold(richtextboxBold.liines(I)) then 

     richtextboxOutput.AppendText("Line "& I &" is Bold") 
    Else 

     richtextboxOutput.AppendText("Line "& I &" is Not Bold") 

    End If 

Next 

Function islineBold(byval str as string) as Boolean 

End Function 

:

1 호선은 굵게
2 호선이

+0

시도해 본 것을 게시 할 수 있습니까? –

+0

정확히 어떤 언어로되어 있습니까? 그리고 지금까지 무엇을 시도 했습니까? –

+0

정규식이 가장 단순하다고 생각합니까? RichTextBox가 그것을 반환하는 속성/함수를 가지고 있지 않다면 (나는 의심 스럽습니다) – Johan

답변

2

이런 식으로 뭔가를 시도 굵게가 없습니다 :

Dim sLine As String   
Dim iCont As Integer 

For (i As Integer = 0 To rt.Lines.Lenght - 1) 
    sLine = rt.Lines(i) 
    rt.Select(iCont, sLine.Length - 1) 

    If rt.SelectionFont.Bold Then 
     richtextboxOutput.AppendText("Line "& i + 1 &" is Bold") 
    Else 
     richtextboxOutput.AppendText("Line "& i + 1 &" is Not Bold") 
    End If 

    iCont += sLine.Length 
Loop 

여기서 rtRichTextBox입니다. 전체 줄이 굵게 표시되는지 확인합니다.

유일한 옵션은 RichTextBox로 텍스트를 찾아서 반복 할 수 있기 때문에 무언가가 문자열을 함수로 전달하는 경우 굵게 표시되는지 테스트 할 수 없습니다. 함수를 수행하려면 다음과 같이 할 수 있습니다.

Function IsBoldText(rt As RichTextBox, start As Integer, length As Integer) 
    rt.Select(start, length) 
    Return rt.SelectionFont.Bold 
End Function 
+1

감사합니다 sysDragon가 도움이되고 있습니다. 감사합니다 :) –