📄 items.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Collections;
namespace DAC_CSDEMO
{
public partial class Items : Form
{
public Items()
{
InitializeComponent();
}
private void Items_Load(object sender, EventArgs e)
{
AddRootNode();
}
private void AddRootNode()
{
Form1.ASDAC_GetNameSpace(Form1.m_ServerHandle, ref m_NameSpace);
TreeNode node=treeView1.Nodes.Add("ROOT");
if (m_NameSpace == 1)
{
BrowseBranch(node);
}
else
{
BrowseLeaves();
}
}
private void BrowseBranch(TreeNode node)
{
if(node.GetNodeCount(false)==0)
{
object tagNames;
tagNames = null;
uint count = Form1.ASDAC_BrowseItems(Form1.m_ServerHandle,1,"*",0,0,ref tagNames);
for(int I=0;I<count; I++)
{
string tagName;
tagName = ((string[])tagNames)[I];
node.Nodes.Add(tagName);
}
}
}
private void ChangeBrowsePosition(TreeNode newNode)
{
ArrayList tagNames=new ArrayList();
TreeNode node;
node = newNode;
while (Form1.ASDAC_ChangeBrowsePosition(Form1.m_ServerHandle, 1, "")) ;
while (node.Parent!=null)
{
tagNames.Insert(0, node.Text);
node = node.Parent;
}
foreach (string TagName in tagNames)
{
Form1.ASDAC_ChangeBrowsePosition(Form1.m_ServerHandle, 2, TagName);
}
BrowseBranch(newNode);
BrowseLeaves();
}
private void BrowseLeaves()
{
object tagNames;
tagNames = null;
uint count = Form1.ASDAC_BrowseItems(Form1.m_ServerHandle, 2, "*", Convert.ToUInt16(VarEnum.VT_EMPTY), 0, ref tagNames);
listBox1.Items.Clear();
for(int I=0;I<count; I++)
{
string tagName;
tagName = ((string[])tagNames)[I];
listBox1.Items.Add(tagName);
}
}
private ushort m_NameSpace;
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
if (m_NameSpace == 0) return;
if(treeView1.SelectedNode!=null)
{
ChangeBrowsePosition(treeView1.SelectedNode);
}
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if(listBox1.SelectedItem==null) return;
string tagName=listBox1.SelectedItem.ToString();
StringBuilder tagFullName=new StringBuilder(128);
Form1.ASDAC_GetItemFullName(Form1.m_ServerHandle, tagName, tagFullName, 128);
textBox1.Text = tagFullName.ToString();
}
private void Cancel_Click(object sender, EventArgs e)
{
this.Close();
}
private void Add_Click(object sender, EventArgs e)
{
Form1.AddItem(textBox1.Text);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -