📄 frmmain.cs
字号:
{
frmAbout frm = new frmAbout();
frm.ShowDialog();
}
public void mnuItemStatus_Click(object eventSender, System.EventArgs eventArgs)
{
if (lvListView.FocusedItem == null) return; // TODO: might not be correct. Was : Exit Sub
frmItemStatus frm = new frmItemStatus();
frm.ItemName = lvListView.FocusedItem.Text;
if (frm.ShowDialog() == DialogResult.OK)
{
YFOPCSDK.OPC_ActiveItem(Module1.ServerHandle, Module1.GroupHandle,int.Parse(lvListView.FocusedItem.Tag.ToString()), frm.bActive.Checked?1:0);
}
}
public void mnuReadItem_Click(object eventSender, System.EventArgs eventArgs)
{
//System.Windows.Forms.ListViewItem lvItem;
if (lvListView.FocusedItem == null) return; // TODO: might not be correct. Was : Exit Sub
object Var=new object();
double Ft=0.0;
Module1.FILETIME ftdt=new Module1.FILETIME();
short Quality=0;
if (YFOPCSDK.OPC_ReadItem(Module1.ServerHandle, Module1.GroupHandle, int.Parse(lvListView.FocusedItem.Tag.ToString()), ref Var, ref Ft, ref Quality)!=0)
{
ftdt = Module1.DoubleToFileTime(Ft);
if (Var == null) return;
Module1.ItemArr[int.Parse(lvListView.FocusedItem.Tag.ToString())].Value = Var ;
Module1.ItemArr[int.Parse(lvListView.FocusedItem.Tag.ToString())].Quality = Quality;
Module1.ItemArr[int.Parse(lvListView.FocusedItem.Tag.ToString())].Ft = ftdt;
if (lvListView.FocusedItem.SubItems.Count > 1)
{
lvListView.FocusedItem.SubItems[1].Text = Var.ToString();
}
else
{
lvListView.FocusedItem.SubItems.Insert(1, new System.Windows.Forms.ListViewItem.ListViewSubItem(null, Var.ToString()));
}
if (lvListView.FocusedItem.SubItems.Count > 2)
{
lvListView.FocusedItem.SubItems[2].Text = Quality.ToString();
}
else
{
lvListView.FocusedItem.SubItems.Insert(2, new System.Windows.Forms.ListViewItem.ListViewSubItem(null, Quality.ToString()));
}
if (lvListView.FocusedItem.SubItems.Count > 3)
{
lvListView.FocusedItem.SubItems[3].Text = Module1.FileTimeToDate(ftdt).ToString();
}
else
{
lvListView.FocusedItem.SubItems.Insert(3, new System.Windows.Forms.ListViewItem.ListViewSubItem(null, Module1.FileTimeToDate(ftdt).ToString()));
}
}
}
public void mnuGroupRefresh_Click(object eventSender, System.EventArgs eventArgs)
{
YFOPCSDK.OPC_RefreshGroup(Module1.ServerHandle, Module1.GroupHandle, 1);
}
public void mnuRemoveItem_Click(object eventSender, System.EventArgs eventArgs)
{
if (lvListView.FocusedItem == null) return;
if( Module1.RemoveItem(int.Parse(lvListView.FocusedItem.Tag.ToString())) )
{
lvListView.Items.RemoveAt(lvListView.FocusedItem.Index);
}
}
public void AddItem( string ItemName)
{
int Index;
System.Windows.Forms.ListViewItem lvItem;
Index = Module1.AddItemM(ref ItemName);
if (Index > 0)
{
lvItem = lvListView.Items.Insert(0, "K" + Index.ToString(), ItemName, "");
lvItem.Tag = Index.ToString();//存句柄
if (lvItem.SubItems.Count > 1)
{
lvItem.SubItems[1].Text = "Bad";
}
else
{
lvItem.SubItems.Insert(1, new System.Windows.Forms.ListViewItem.ListViewSubItem(null, "Bad"));
}
if (lvItem.SubItems.Count > 2)
{
lvItem.SubItems[2].Text = "";
}
else
{
lvItem.SubItems.Insert(2, new System.Windows.Forms.ListViewItem.ListViewSubItem(null, ""));
}
if (lvItem.SubItems.Count > 3)
{
lvItem.SubItems[3].Text = "";
}
else
{
lvItem.SubItems.Insert(3, new System.Windows.Forms.ListViewItem.ListViewSubItem(null, ""));
}
}
}
public void RefreshItem(ref int Index)
{
System.Windows.Forms.ListViewItem lvItem;
lvItem = lvListView.Items["K" + Index.ToString()];
if (lvItem == null) return;
if (lvItem.SubItems.Count > 1)
{
lvItem.SubItems[1].Text = Module1.ItemArr[Index].Value.ToString();
}
else
{
lvItem.SubItems.Insert(1, new System.Windows.Forms.ListViewItem.ListViewSubItem(null, Module1.ItemArr[Index].Value.ToString()));
}
if (lvItem.SubItems.Count > 2)
{
lvItem.SubItems[2].Text = Module1.ItemArr[Index].Quality.ToString();
}
else
{
lvItem.SubItems.Insert(2, new System.Windows.Forms.ListViewItem.ListViewSubItem(null, Module1.ItemArr[Index].Quality.ToString()));
}
if (lvItem.SubItems.Count > 3)
{
lvItem.SubItems[3].Text = Module1.FileTimeToDate(Module1.ItemArr[Index].Ft).ToString();
}
else
{
lvItem.SubItems.Insert(3, new System.Windows.Forms.ListViewItem.ListViewSubItem(null, Module1.FileTimeToDate(Module1.ItemArr[Index].Ft).ToString()));
}
}
public void mnuServerStatus_Click(object eventSender, System.EventArgs eventArgs)
{
double ftStart=0.0;
double ftCurrent=0.0;
double ftUpdate=0.0;
int BandWidth=0;
int GroupCount=0;
short MajorVersion=0;
short State=0;
short MinorVersion=0;
short BuildNumber=0;
string vendor=new string(' ',128);
if (YFOPCSDK.OPC_GetServerStatus(Module1.ServerHandle, ref ftStart, ref ftCurrent, ref ftUpdate, ref State, ref BandWidth,ref GroupCount, ref MajorVersion, ref MinorVersion, ref BuildNumber, vendor, 128)!=0)
{
frmServerStatus frm=new frmServerStatus();
frm.Text1.Text = Module1.FileTimeToDate(Module1.DoubleToFileTime(ftStart)).ToString();
frm.Text2.Text = Module1.FileTimeToDate(Module1.DoubleToFileTime(ftCurrent)).ToString();
frm.Text3.Text = Module1.FileTimeToDate(Module1.DoubleToFileTime(ftUpdate)).ToString();
frm.Text4.Text = BandWidth.ToString();
frm.Text5.Text = State.ToString();
frm.Text6.Text = GroupCount.ToString();
frm.Text7.Text = MajorVersion.ToString();
frm.Text8.Text = MinorVersion.ToString();
frm.Text9.Text = BuildNumber.ToString();
frm.ShowDialog();
}
}
public void mnuWriteItem_Click(object eventSender, System.EventArgs eventArgs)
{
int Index;
object Value;
if (lvListView.FocusedItem == null) return;
frmItemWrite frm = new frmItemWrite();
if (frm.ShowDialog()!= DialogResult.OK ) return;
if (frm.Value == "") return;
Index = int.Parse(lvListView.FocusedItem.Tag.ToString());
Value = frm.Value;
if (YFOPCSDK.OPC_WriteItem(Module1.ServerHandle, Module1.GroupHandle, Index, Value, frm.Async)!=0)
{
Module1.ItemArr[Index].Value = Value;
if (lvListView.FocusedItem.SubItems.Count > 1)
{
lvListView.FocusedItem.SubItems[1].Text = Value.ToString();
}
else
{
lvListView.FocusedItem.SubItems.Insert(1, new System.Windows.Forms.ListViewItem.ListViewSubItem(null, Value.ToString()));
}
}
}
private void lvListView_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
{
if (lvListView.FocusedItem == null) return;
mnuReadItem.Enabled = true;
mnuWriteItem.Enabled = true;
mnuItemStatus.Enabled = true;
mnuRemoveItem.Enabled = true;
}
private void lvListView_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -