McGRADY_0526
McGRADY_0526
采纳率0%
2017-10-20 05:18 阅读 1.7k

C#WinForm多线程更新treeview问题

5

C#新手。。。C#程序调用dll,dll中有一个回调函数用于接受数据,想根据接收到的数据增加treeview节点,怎么操作?直接在回调函数中程序会崩溃。
nt iSize = cJSON_GetArraySize(iptr11);

            for (int i = 0; i < iSize; i++)
            {
                IntPtr iptr12 = cJSON_GetArrayItem(iptr11, i);
                if (iptr12 != IntPtr.Zero)
                {
                    IntPtr iptr13 = cJSON_GetObjectItem(iptr12, "deviceId");//这个“DeviceName”名称待定
                    if (iptr13 != IntPtr.Zero)
                    {
                        Json entries = (Json)Marshal.PtrToStructure(iptr13, typeof(Json));
                        string str = entries.valuestring;
                        this.treeView1.Nodes.Add(str);
                    }
                }
            }  
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • abcfgh abcfgh 2017-10-20 05:37
     this.treeView1.Invoke(代理方法,参数)
    
    点赞 评论 复制链接分享
  • chinarealone chinarealone 2017-10-24 07:15

    只有可视化控件的拥有者线程才能更新和操作控件

    点赞 评论 复制链接分享

相关推荐