批次給控制元件賦值

virgoboy20發表於2010-08-21

方法一:利用Controls.Find方法

方法二:利用反射(該方法可批次給控制元件任何屬性賦值)

[@more@]

方法一:利用Controls.Find方法:

  1. for(int i = 0 , i < 10 , i++)
  2. {
  3. Label newLabel = (System.Windows.Forms.Label)this.Controls.Find("label1" + i.toString(),false)[0];
  4. newLabel .Text = i.toString();
  5. }

方法二:利用反射(該方法可批次給控制元件任何屬性賦值)

  1. for(int i = 0 , i < 10 , i++)
  2. {
  3. //取型別
  4. System.Type type = typeof(System.Windows.Forms.Label);
  5. //取屬性名稱
  6. System.Reflection.PropertyInfo p = type.GetProperty("Text");
  7. //賦值
  8. p.SetValue((System.Windows.Forms.Label)this.Controls.Find("label" + i.toString() , false)[0] , i.toString() , null);
  9. }

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8780503/viewspace-1037170/,如需轉載,請註明出處,否則將追究法律責任。

相關文章