欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C# 子线程修改界面主线程控件值的解决办法

程序员文章站 2022-03-04 12:34:33
...

利用委托即可

 internal void bootloadBoxShow(string str)
        {
            Invoke(new MethodInvoker(delegate
            {
                bootloaderBox1.Items.Add(str);
                bootloaderBox1.SelectedIndex = bootloaderBox1.Items.Count - 1;
            }));
        }

当你在子线程中要修改主线程某个控件的值时,有不想再去定义一个线程变量时,就可以直接使用线程匿名委托来实现。

控件.BeginInvoke(new ThreadStart(delegate ()
                            {
                                控件.Text = DateTime.Now.ToShortDateString();
                            }));