从不在其上创建线程的线程访问控件X

问题描述

我使用了Treager的OPC-UA SDK。我已将变量创建为PLC S7-1200

enter image description here

enter image description here

它在Console.WriteLine上显示了值,但我无法在listView上显示它

enter image description here

有人可以帮我在listView1上显示变量更改吗?

如果我注意到listView1.Items.Add(itm);,它将表明

enter image description here

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Opc.Ua.Client;
using Opc.UaFx;
using Opc.UaFx.Client;

namespace Test_OPC
{
    public partial class OPCUA : Form
    {
        private readonly OpcClient client;
        public static OpcValue isRunning;
        string[] arr = new string[4];
        ListViewItem itm;
        public OPCUA()
            : base()
        {
            this.client = new OpcClient("opc.tcp://192.168.1.200:4840");
            InitializeComponent();

        }
        private void OPCUA_Load(object sender,EventArgs e)
        {
            client.Connect();
           
            OpcSubscription subscription = client.SubscribeDataChange("ns=4;i=15",HandleDataChanged);
            //ListViewItem listView1 = new ListViewItem();
            //ListViewItem itemHienThi = new ListViewItem();

            
           
            //Add Item vào ListView
            arr[0] = "01";
            arr[1] = "100";
            arr[2] = "10";
            itm = new ListViewItem(arr);
            listView1.Items.Add(itm);

        }
        private void HandleDataChanged(object sender,OpcDataChangeReceivedEventArgs e)
        {
            OpcMonitoredItem item = (OpcMonitoredItem)sender;

            //Add the attribute name/value to the list view.

            arr[0] = item.NodeId.ToString();
            arr[1] = e.Item.Value.ToString();

            itm = new ListViewItem(arr);
            listView1.Items.Add(itm);

            Console.WriteLine("Data Change from NodeId '{0}': {1}",item.NodeId,e.Item.Value);
        }

    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...