⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmmain.cs

📁 OPC CLIENT开发包
💻 CS
📖 第 1 页 / 共 2 页
字号:
	{
        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 + -