📄 frmitembrowser.vb
字号:
Option Strict Off
Option Explicit On
Friend Class frmItemBrowser
Inherits System.Windows.Forms.Form
Private root, last As System.Windows.Forms.TreeNode
Private Sub AddItem_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles AddItem.Click
frmMain.AddItem(txtItemName.Text)
End Sub
Private Sub CancelButton_Renamed_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles CancelButton_Renamed.Click
Me.DialogResult = Windows.Forms.DialogResult.OK
Me.Close()
Me.Dispose()
End Sub
Private Sub Browse()
Dim NameSpace_Renamed As Short
If OPC_GetNameSpace(ServerHandle, NameSpace_Renamed) Then
If NameSpace_Renamed = 1 Then
BrowseItems()
Else
BrowseBranch()
End If
End If
End Sub
Private Sub ChangePosition(ByRef n As System.Windows.Forms.TreeNode)
Dim buf(128) As Byte
If TypeOf (n.Parent) Is TreeNode Then '.root.Text <> n.Text
ChangePosition(n.Parent)
OPC_ChangeBrowsePosition(ServerHandle, 2, n.Text)
Else
OPC_ChangeBrowsePosition(ServerHandle, 3, "")
End If
End Sub
Private Sub BrowseBranch()
Dim I As Object
Dim Count As Short
Dim n, tmp As System.Windows.Forms.TreeNode 'p,
Dim ItemNames As Object
If TreeView1.SelectedNode.Text = "" Then Return
n = TreeView1.SelectedNode
ChangePosition(n)
BrowseItems()
If n.GetNodeCount(False) = 0 Then
Count = OPC_BrowseItems(ServerHandle, 1, "*", 0, 0, ItemNames)
For I = 0 To Count - 1
tmp = TreeView1.Nodes.Find(n.Tag, True)(0).Nodes.Add(n.Tag & ItemNames(I), ItemNames(I))
tmp.Tag = n.Tag & ItemNames(I)
Next
n.Expand()
End If
last = TreeView1.SelectedNode
End Sub
Private Sub BrowseItems()
Dim I As Object
Dim Count As Short
Dim ItemNames As Object
listItem.Items.Clear()
If TreeView1.SelectedNode.Text = "" Then Return
Count = OPC_BrowseItems(ServerHandle, 2, "*", 0, 0, ItemNames)
For I = 0 To Count - 1
listItem.Items.Add(ItemNames(I))
Next
End Sub
Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click
If txtItemName.Text = "" Then Exit Sub
frmItemStatus.ItemName = txtItemName.Text
If frmItemStatus.ShowDialog() = Windows.Forms.DialogResult.OK Then
Dim i As Integer
For i = 1 To frmMain.lvListView.Items.Count
If txtItemName.Text = ItemArr(i).Name Then
Exit For
End If
Next
If (i <= frmMain.lvListView.Items.Count) Then
If (frmItemStatus.bActive.Checked) Then
YFOPCSDK.OPC_ActiveItem(ServerHandle, GroupHandle, i, 1)
Else
YFOPCSDK.OPC_ActiveItem(ServerHandle, GroupHandle, i, 0)
End If
End If
End If
End Sub
Private Sub frmItemBrowser_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
root = TreeView1.Nodes.Add("Root", "Root")
root.Tag = "Root"
TreeView1.SelectedNode = root
BrowseBranch()
End Sub
Private Sub listItem_SelectedIndexChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles listItem.SelectedIndexChanged
Dim FullName As String
FullName = New String(New Char, 128)
If listItem.SelectedIndex = -1 Then Exit Sub
If OPC_GetItemFullName(ServerHandle, listItem.Items(listItem.SelectedIndex).ToString(), FullName, 127) Then
txtItemName.Text = FullName
End If
End Sub
Private Sub listItem_DoubleClick(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles listItem.DoubleClick
If listItem.SelectedIndex = -1 Then Exit Sub
listItem_SelectedIndexChanged(listItem, New System.EventArgs())
AddItem_Click(AddItem, New System.EventArgs())
End Sub
Private Sub BrowerToTop(ByRef x As System.Windows.Forms.TreeNode)
If (TypeOf (x.Parent) Is TreeNode) Then
OPC_ChangeBrowsePosition(ServerHandle, 1, "")
BrowerToTop(x.Parent)
End If
End Sub
Private Sub TreeView1_NodeClick(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles TreeView1.NodeMouseClick
TreeView1.SelectedNode = eventArgs.Node
BrowerToTop(last)
BrowseBranch()
End Sub
Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
'Dim Node As System.Windows.Forms.TreeNode = e.Node
'BrowerToTop(last)
'BrowseBranch()
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -