Winform检查对tabcontrol中的每个tabpages都需要Invoke

时间:2015-07-24 01:41:53

标签: c# winforms tabpage invokerequired

我在主窗体中有一个winform应用程序有一个tabcontrol,一个线程会非常频繁地创建或删除tabpages。其他一些后台线程将获取数据并需要访问其中的每个tabpage页面控件。 代码在这里,可以工作:

public void GetCustomerMessage()
            {
                    if (this.tabControl.InvokeRequired == true)
                    {
                        CustomerInforHandler handler = GetCustomerMessage;
                        this.tabControl.Invoke(handler);
                    }
                    else
                    {
                        //code to update something in some tabpages
                        //with foreach tabpage in tabcontrols and use BeginInvoke
                    }
              }

问题是,我意识到后台线程实际上需要访问某个标签页,而不是tabcontrol,是否正确检查tabcontrol的InvokeRequired属性,或者我需要检查每个标签页' s InvokeRequired?因为有时候我觉得用户界面会在很短的时间内被阻止。

当tabcontrol可以访问UI线程时,是不是意味着它不等于它内部的所有tabpage都能做到这一点?或者可以优化什么?

0 个答案:

没有答案