c# 线程间操作无效 从不是创建控件“listView1”的线程访问它

图片说明

    private void button2_Click(object sender, EventArgs e)
    {

        Lrcload ld = new Lrcload();
        ld.code = Encoding.Default;
        if (dcgb2312.Checked) ld.code = System.Text.Encoding.GetEncoding("gb2312");
        if (dcutf8.Checked) ld.code = System.Text.Encoding.GetEncoding("utf-8");
        ld.listview = listView1.Items;
        ld.reload = checkBox3.Checked;

        //ld.load();

        Thread t = new Thread(new ThreadStart(ld.load));
        t.IsBackground = true;
        t.Start();
    }
    class Lrcload
    {
        /// <summary>
        /// 保存文件编码
        /// </summary>
        public System.Text.Encoding code;
        /// <summary>
        /// 列表listview.Items
        /// </summary>
      //  public ListViewItem[] listview;
        public ListView.ListViewItemCollection listview;
        /// <summary>
        /// 已有歌词重下
        /// </summary>
        public bool reload;

        /// <summary>
        /// 下载歌词
        /// </summary>
        public void load()
        {
            bu(false);
            foreach (ListViewItem lvi in listview)
            {
                try
                {

public void load()
{
某个控件.Invoke(delegate() {
你原来的代码
});
}