Solved

Change color of specific value in a richtexbox

Posted on 2013-06-27
3
170 Views
Last Modified: 2013-06-27
I am attempting to use the following code to change the color of all the 1s in my field.
The field looks like this.
0010 1110 0000 1010 0001 1111 1000 0000 0110

The whole field ends up red instead of just the 1s.

Private Sub HighLightWords(ByVal Bitmap As String, ByVal myColor As Color)
        ''http://www.vbforums.com/showthread.php?125371-Change-Text-Color-and-Font-Character-by-Character
        Dim strWord As String
        Dim lPos As Long
 
        strWord = "1"
        If Bitmap = "Bitmap1" Then
            lPos = InStr(1, Me.txtBinary1.Text, strWord, vbTextCompare)
 
            If lPos > 0 Then
                With txtBinary1
                    .SelectionStart = lPos - 1
                    .SelectionLength = Len(strWord)
                    .SelectionColor = myColor
                    .SelectionStart = Len(Me.txtBinary1.Text)
                End With
            End If
        Else
            lPos = InStr(1, Me.txtBinary2.Text, strWord, vbTextCompare)
            If lPos > 0 Then
                With txtBinary2
                    .SelectionStart = lPos - 1
                    .SelectionLength = Len(strWord)
                    .SelectionColor = myColor
                    .SelectionStart = Len(Me.txtBinary2.Text)
                End With
            End If
        End If
End sub
0
Comment
Question by:WINN2012
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 42

Accepted Solution

by:
sedgwick earned 500 total points
ID: 39281118
this code will color all the 1s in red:
Dim i = 0
        For Each c In Me.txtBinary1.Text
            If c = "1"c Then
                With RichTextBox1
                    .SelectionStart = i
                    .SelectionLength = 1
                    .SelectionColor = Drawing.Color.Red
                End With
            End If
            i = i + 1
        Next

Open in new window

0
 
LVL 42

Expert Comment

by:sedgwick
ID: 39281137
here's your function:

    Private Sub HighLightWords(ByVal Bitmap As String, ByVal myColor As Color)
        Dim i = 0
        Dim ctrl As RichTextBox

        If Bitmap = "Bitmap1" Then
            ctrl = Me.txtBinary1.Text

        Else
            ctrl = Me.txtBinary2.Text
        End If

        For Each c In ctrl.Text
            If c = "1"c Then
                With ctrl
                    .SelectionStart = i
                    .SelectionLength = 1
                    .SelectionColor = myColor
                End With
            End If
            i = i + 1
        Next

    End Sub

Open in new window

0
 

Author Closing Comment

by:WINN2012
ID: 39281923
Worked like a champ..tyvm
I think I couldnt get it to work because I was not incrementing the counter. So it just started over again.

I do have a hiccup though, the first time i run the code it works and all 1s are red as desired, if I make a change on my form which triggers the code again, the entire line is red again.
I'm sure I'll figure it out.

MW
0

Featured Post

Creating Instructional Tutorials  

For Any Use & On Any Platform

Contextual Guidance at the moment of need helps your employees/users adopt software o& achieve even the most complex tasks instantly. Boost knowledge retention, software adoption & employee engagement with easy solution.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Since .Net 2.0, Visual Basic has made it easy to create a splash screen and set it via the "Splash Screen" drop down in the Project Properties.  A splash screen set in this manner is automatically created, displayed and closed by the framework itsel…
Introduction As chip makers focus on adding processor cores over increasing clock speed, developers need to utilize the features of modern CPUs.  One of the ways we can do this is by implementing parallel algorithms in our software.   One recent…
There are cases when e.g. an IT administrator wants to have full access and view into selected mailboxes on Exchange server, directly from his own email account in Outlook or Outlook Web Access. This proves useful when for example administrator want…
In this video, viewers will be given step by step instructions on adjusting mouse, pointer and cursor visibility in Microsoft Windows 10. The video seeks to educate those who are struggling with the new Windows 10 Graphical User Interface. Change Cu…

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question