C# 标签文本不会更新

C# 标签文本不会更新,c#,winforms,C#,Winforms,我正在写一个程序来帮助Active Directory管理,我的问题是每当我尝试更新信息面板中的标签时,它都不会改变!我知道它正在运行,因为我放置了一个Debug.Writeline(Name),它工作得很好。它只是不改变程序中标签的值 public void UpdateInfoPanel(string Name) { for (int i = 0; i < Users.Count; i++) { if(Users[i].DisplayName == Na

我正在写一个程序来帮助Active Directory管理,我的问题是每当我尝试更新信息面板中的标签时,它都不会改变!我知道它正在运行,因为我放置了一个
Debug.Writeline(Name)
,它工作得很好。它只是不改变程序中标签的值

public void UpdateInfoPanel(string Name)
{
    for (int i = 0; i < Users.Count; i++)
    {
        if(Users[i].DisplayName == Name)
        {
            this.LabelNameText.Text = Name.ToString();
            this.LabelNameText.Refresh();
            Debug.WriteLine(Name);
        }
    }
}
public void updateInfo面板(字符串名称)
{
for(int i=0;i
您是从UI线程调用它吗?旁白:参数
字符串名
名称.ToString()?这不是有点多余吗?我本来没有ToString()或“this”。但我现在正在尝试所有的方法,并且我正在承载标签的表单上运行它。这似乎是一个长期运行的任务,我没有看到用户名匹配后的
中断。如果数组中有数千个用户,则需要时间刷新UI。当您传入名称,然后循环查找匹配的用户,然后将标签文本设置为名称时,循环似乎是完全多余的。如果去掉循环和条件,只设置this.LabelNameText.Text=Name;,会发生什么;?