Advertisement
Advertisement
| 07.17.2008 at 11:40AM PDT, ID: 23574417 |
|
[x]
Attachment Details
|
||
|
[x]
The Solution Rating System
|
||
With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.
Your Input Matters If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support. Thank you! |
||
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: |
Public Class ColorfulTextbox
Inherits TextBox
Private Const WM_PAINT As Integer = &HF
Private Const WM_VSCROLL As Integer = &H115
Protected Overrides Sub OnTextChanged(ByVal e As System.EventArgs)
MyBase.OnTextChanged(e)
Me.Invalidate()
End Sub
Protected Overrides Sub WndProc(ByRef wndmsg As System.Windows.Forms.Message)
MyBase.WndProc(wndmsg)
Select Case wndmsg.Msg
Case WM_PAINT
drawRect()
Case WM_VSCROLL
Me.Invalidate()
End Select
End Sub
Sub drawRect()
Dim nRowHeight As Integer = 16
Dim rectF As System.Drawing.RectangleF
Dim nRows As Long = Me.Height / nRowHeight + 1
Dim nlp As Long
Dim clr As Color
clr = Color.Bisque
clr = Color.FromArgb(clr.A / 2, clr.R, clr.G, clr.B)
Dim clearIt As Color = Color.White
clearIt = Color.FromArgb(clearIt.A / 2, clearIt.R, clearIt.G, clearIt.B)
Dim ClearBrush As New SolidBrush(clearIt)
Dim brush As New SolidBrush(clr)
Dim g As Graphics = Me.CreateGraphics()
Dim arLines As String() = Me.Text.Split(vbCrLf)
If UBound(arLines) = 0 Then Exit Sub
Dim bColoringGroup As Boolean = True
Dim bGroupChange As Boolean = False
rectF = New System.Drawing.RectangleF(0, 0, Me.Width, nRowHeight)
g.FillRectangle(brush, rectF)
For nlp = 1 To nRows - 1
If arLines(nlp - 1).Split(" ")(0).Trim = arLines(nlp).Split(" ")(0).Trim Then
bGroupChange = False
Else
bGroupChange = True
bColoringGroup = Not bColoringGroup
End If
If bColoringGroup Then
rectF = New System.Drawing.RectangleF(0, nlp * nRowHeight, Me.Width, nRowHeight)
g.FillRectangle(brush, rectF)
Else
rectF = New System.Drawing.RectangleF(0, nlp * nRowHeight, Me.Width, nRowHeight)
g.FillRectangle(ClearBrush, rectF)
End If
Next
g.Dispose()
brush.Dispose()
End Sub
Sub drawRectOld()
Dim nRowHeight As Integer = 16
Dim rectF As System.Drawing.RectangleF
Dim nRows As Long = Me.Height / nRowHeight + 1
Dim nlp As Long
Dim clr As Color
clr = Color.Bisque
clr = Color.FromArgb(clr.A / 2, clr.R, clr.G, clr.B)
Dim brush As New SolidBrush(clr)
Dim g As Graphics = Me.CreateGraphics()
For nlp = 0 To nRows - 1 Step 2
rectF = New System.Drawing.RectangleF(0, nlp * nRowHeight, Me.Width, nRowHeight)
g.FillRectangle(brush, rectF)
Next
g.Dispose()
brush.Dispose()
End Sub
End Class
|