【问题标题】:about refresh UI !关于刷新用户界面!
【发布时间】:2011-01-08 13:24:24
【问题描述】:

我有一个表单,其中包含一个带有 3 个选项卡的选项卡控件。如何使用后台工作线程仅刷新表单中的一个标签页而不刷新其他标签页?

【问题讨论】:

  • 您能提供更多信息吗?这个选项卡控件在做什么?后台工作人员在做什么?正在更新的 UI 是什么?

标签: c# user-interface tabcontrol


【解决方案1】:

以下是如何更新 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);

【讨论】:

    猜你喜欢
    • 2021-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-16
    • 2012-09-05
    • 1970-01-01
    相关资源
    最近更新 更多