C# 在c语言中动态更新标签#

C# 在c语言中动态更新标签#,c#,C#,我正在使用EAGetMail访问成功接收的附件的名称。但另一方面,我想将该名称放置在标签上,如代码所示,但我的标签值根本没有改变。相反,当我单击另一个附件时,该附件的名称和上一个附件的名称组合在一起并显示在标签上。下面是我使用的标签代码 for (int a = 0; a < count; a++) { att = atts[a]; MessageBox.Show(""+att.Name); label1.Text = att.Name.ToString(

我正在使用EAGetMail访问成功接收的附件的名称。但另一方面,我想将该名称放置在标签上,如代码所示,但我的标签值根本没有改变。相反,当我单击另一个附件时,该附件的名称和上一个附件的名称组合在一起并显示在标签上。下面是我使用的标签代码

for (int a = 0; a < count; a++)
 {

     att = atts[a];
     MessageBox.Show(""+att.Name);
     label1.Text = att.Name.ToString();
     System.Threading.Thread.Sleep(1000);

     // MessageBox.Show(""+att.Name);

     label1.Location = new System.Drawing.Point(50, 20);
     label1.ForeColor = System.Drawing.Color.Black;
     label1.AutoSize = true;
     picture = new PictureBox();
     picture.SizeMode = PictureBoxSizeMode.StretchImage;
     picture.SizeMode = PictureBoxSizeMode.StretchImage;
     picture.Location = new System.Drawing.Point(20, 10);
     picture.Size = new System.Drawing.Size(30, 30);
     picture.Image = new Bitmap("C:/Users/HP/source/repos/EmailViewer/EmailViewer/Resources/atts.png");
     panel6.Controls.Add(picture);
     panel6.Controls.Add(label1);
}
for(int a=0;a
每次将标签和图片添加到容器中时,都应该创建一个新的标签和图片实例。否则,容器将始终引用同一对象

所以在你的for循环中

for (int a = 0; a < count; a++)
{
 label1=new Label();
   ........Rest of the code.... 
}
for(int a=0;a
您可以利用事件:

如何使用它们。
如果您在执行此操作时遇到任何问题,请告诉我。

为什么每次在for loop和ForeColor中都需要分配label1的位置。attName保留附件的名称。问题在于标签的文本。它没有改变,但attName“每次我选择新附件时都会改变。我希望你能理解。你是否尝试过在for循环中创建新的Label实例。我已经改变了,但仍然无法工作。你可以调用Application.DoEvents()在循环结束时,这可能不是正确的方法,但有助于debugging@TaimoorKhalid,你能解决你的问题吗?你有没有尝试过事件或其他解决方案?