Code Bye

为什么textbox一直重复显示名字

想要实现发的是选一个物件,textbox中就显示一次他的名字,然后名字与名字之间用”->”连接,可是现在为什么选一个物件a,然后textbox就是重复显示a->a->a->a->a->a->a->a->a->a->a…
for (int i = 0; i < Selection.ItemCount; i++)
                {
                    comp = (IvcComponent)Selection.getItem(i);
                    for (int a = 0; a < comp.PropertyCount; a++)
                    {
                        object name = comp.getProperty("Name");
                        string propName = comp.getPropertyName(a);
                        object propValue = comp.getProperty(propName);
                        BeginInvoke(new myDelegate3(UpdateTextBox3), name);
                            
                      }                                                        
                 }
public void UpdateTextBox3(String c_String)
        {
            if (textBox5.Text != "")
            {
                textBox5.Text += "->" + c_String.ToString();
            }
            else
            {
                textBox5.Text = c_String.ToString();
            }
        }
解决方案

10

你好好看看,你BeginInvoke(new myDelegate3(UpdateTextBox3), name);传的参数是name,但是name通过comp.getProperty(“Name”);赋值的,可是每次for循环你的comp都没有改变,那么获得的name自然也就不会改变了。假如comp是数组的话,你是不是应该用comp[a].getProperty(“Name”)赋值

10

BeginInvoke(new myDelegate3(UpdateTextBox3), name);这个放到循环外

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明为什么textbox一直重复显示名字