我有一个表单,其中包含一个带有3个选项卡的选项卡控件。如何使用backgroundworker线程仅刷新表单中的一个标签页而不刷新其他标签?
答案 0 :(得分:2)
以下是如何更新tabcontrol中的特定标签页:
private delegate void RefreshTabPageDelegate(int tabPage);
public static void RefreshTabPageThreadSafe(int tabPage)
{
if (tabControl.InvokeRequired)
{
tabControl.Invoke(new RefreshTabPageDelegate(RefreshTabPageThreadSafe), new object[] { tabPage });
}
else
{
if(tabControl.TabPages.Count > tabPage)
{
tabControl.TabPages[tabPage].Refresh();
}
}
}
这样称呼:
// thread-safe equivalent of
// tabControl.TabPage[1].Refresh();
RefreshTabPageThreadSafe(1);