Imports System.Windows.Forms
Public Class FrmMACDialog
Public FCsConfig As FrmCSeriesConfig
Sub New(pathme As FrmCSeriesConfig)
' 此调用是设计器所必需的。
InitializeComponent()
FCsConfig = pathme
' 在 InitializeComponent() 调用之后添加任何初始化。
End Sub
Private Sub FrmMACDialog_Load(sender As Object, e As EventArgs) Handles Me.Load
Label49.Text = LanguageData.StringList(MultiLanguageDAL.StringEnum.MAC)
End Sub
Private Sub FrmMACDialog_Shown(sender As Object, e As EventArgs) Handles Me.Shown
TextBox5.Text = Nothing
TextBox5.Focus() '设置焦点
End Sub
Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
Dim mac As String = TextBox5.Text
If mac = Nothing Then
MsgBox($"{LanguageData.StringList(MultiLanguageDAL.StringEnum.PleaseScanTheMACAddress)}!")
Exit Sub
End If
mac = mac.Replace(" ", "").Replace("-", "").Replace("_", "").Replace(" ", "")
If mac.Length <> 12 Then
MsgBox($"MAC数据长度不匹配!")
Return
End If
For index = 0 To mac.Length - 1 Step 2
Try
Dim b1 As Byte = $"&H{mac.Substring(index, 2)}"
Catch ex As Exception
MsgBox($"MAC数据不合法!")
Return
End Try
Next
Me.DialogResult = System.Windows.Forms.DialogResult.OK
FCsConfig._IsOK = True
Me.Close()
End Sub
'''
''' 显示窗体
'''
Public Sub ShowMyDialog()
ShowDialog()
End Sub
'''
''' 获取MAC地址
'''
'''
Public Function GetMACAddress() As Byte()
Dim data As String = TextBox5.Text
data = data.Replace(" ", "").Replace("-", "").Replace("_", "").Replace(" ", "")
Dim databuff As Byte() = GetStringToDataByte(data)
Dim dbyte(3) As Byte
Array.Copy(databuff, databuff.Length - 4, dbyte, 0, dbyte.Length)
'Console.WriteLine($"MAC取出来的数据:{ByteToString(dbyte)}")
Return dbyte
End Function
'''
''' 字符串转换Byte数组
'''
'''
'''
Public Function GetStringToDataByte(data As String) As Byte()
Dim dataList As New List(Of Byte)
For index As Integer = 0 To data.Length - 1 Step 2
dataList.Add($"&H{data.Substring(index, 2)}")
Next
Console.WriteLine($"取位: {ByteToString(dataList.ToArray)}")
Return dataList.ToArray
End Function
Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
FCsConfig._IsOK = False
Me.Close()
End Sub
End Class