103 lines
3.4 KiB
VB.net
103 lines
3.4 KiB
VB.net
|
|
Public Class RuningLog
|
|||
|
|
|
|||
|
|
|
|||
|
|
Delegate Function Deleg_OutputLogsToTheControl(c As Control, config As RuningLogConfig, Controltype As Integer) As Boolean
|
|||
|
|
'输出日志到控件
|
|||
|
|
''' <summary>
|
|||
|
|
''' ''输出日志到控件
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="c">控件 </param>
|
|||
|
|
''' <param name="config">日志</param>
|
|||
|
|
''' <returns></returns>
|
|||
|
|
Public Shared Function OutputLogsToTheControl(c As Control, config As RuningLogConfig, Controltype As Integer) As Boolean
|
|||
|
|
Try
|
|||
|
|
If c.InvokeRequired Then
|
|||
|
|
Dim dev As New Deleg_OutputLogsToTheControl(AddressOf OutputLogsToTheControl)
|
|||
|
|
c.Invoke(dev, New Object() {c, config, Controltype})
|
|||
|
|
Else
|
|||
|
|
If Controltype = 1 Then
|
|||
|
|
Dim nc As RichTextBox = c
|
|||
|
|
'获取富文本字符串末端位置
|
|||
|
|
Dim index As Integer = nc.TextLength
|
|||
|
|
Dim strtxt = AddTimeStamps(config.logstr)
|
|||
|
|
'设置光标位置
|
|||
|
|
nc.SelectionStart = index
|
|||
|
|
'添加文本
|
|||
|
|
nc.AppendText(strtxt)
|
|||
|
|
'设置选择区域
|
|||
|
|
nc.Select(index, strtxt.Length)
|
|||
|
|
'设置选择区域颜色
|
|||
|
|
nc.SelectionColor = config.logstrColor
|
|||
|
|
'设置选择区域字体
|
|||
|
|
nc.SelectionFont = config.logstrFont
|
|||
|
|
'取消选中区域
|
|||
|
|
nc.DeselectAll()
|
|||
|
|
Else
|
|||
|
|
c.Text = AddTimeStamps(config.logstr)
|
|||
|
|
c.ForeColor = config.logstrColor
|
|||
|
|
c.Font = config.logstrFont
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
|
|||
|
|
End If
|
|||
|
|
Catch ex As Exception
|
|||
|
|
|
|||
|
|
End Try
|
|||
|
|
|
|||
|
|
|
|||
|
|
End Function
|
|||
|
|
|
|||
|
|
'字符串附加时间戳
|
|||
|
|
Public Shared Function AddTimeStamps(str As String) As String
|
|||
|
|
Return Now.ToString("yyyy-MM-dd HH:mm:ss") & " " & str & vbCrLf
|
|||
|
|
End Function
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
End Class
|
|||
|
|
Public Class RuningLogConfig
|
|||
|
|
'日志信息
|
|||
|
|
Public logstr As String
|
|||
|
|
'日志信息颜色
|
|||
|
|
Public logstrColor As Color
|
|||
|
|
'日志信息字体
|
|||
|
|
Public logstrFont As Font
|
|||
|
|
'日志信息字体大小
|
|||
|
|
'Public logstrFontSize As Integer
|
|||
|
|
''日志信息字体粗细
|
|||
|
|
'Public logstrFontBold As Boolean
|
|||
|
|
''日志信息字体斜体
|
|||
|
|
'Public logstrFontItalic As Boolean
|
|||
|
|
''日志信息字体下划线
|
|||
|
|
'Public logstrFontUnderline As Boolean
|
|||
|
|
''日志信息字体删除线
|
|||
|
|
'Public logstrFontStrikeout As Boolean
|
|||
|
|
''日志信息字体对齐方式
|
|||
|
|
'Public logstrFontAlign As StringAlignment
|
|||
|
|
'日志信息字体背景色
|
|||
|
|
Public logstrFontBackColor As Color
|
|||
|
|
''' <summary>
|
|||
|
|
''' 文本、颜色、Font
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="args"></param>
|
|||
|
|
Sub New(ParamArray args() As Object)
|
|||
|
|
If args.Length > 0 Then
|
|||
|
|
logstr = args(0).ToString
|
|||
|
|
If args.Length > 1 Then
|
|||
|
|
logstrColor = args(1)
|
|||
|
|
If args.Length > 2 Then
|
|||
|
|
logstrFont = args(2)
|
|||
|
|
Else
|
|||
|
|
logstrFont = New Font("宋体", 8)
|
|||
|
|
End If
|
|||
|
|
Else
|
|||
|
|
logstrColor = Color.Black
|
|||
|
|
End If
|
|||
|
|
Else
|
|||
|
|
logstr = "输空文本"
|
|||
|
|
logstrColor = Color.Black
|
|||
|
|
logstrFont = New Font("宋体", 12)
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
End Sub
|
|||
|
|
End Class
|