01/10/2018, 09:36

Có thể gọi tất cả các đối tượng cùng loại trên form trong c# được không?

Ý mình là giả sử trên form có 10 cái label thì có cách nào gọi cả thảy 10 cái để tương tác với nó bằng code không? ( Nghĩa là nếu muốn thay đổi màu nền thì khỏi mất công phải code: label1.Backcolor = Color.Black,label2.Backcolor= Color.Black,…,lablel10.Backcolor = Color.Black ).Có cách nào làm được như thế không ?

Chẵn viết 11:52 ngày 01/10/2018

Ờ… ý bạn là gì ý nhỉ?
Cách để không phải code nhiều thì viết cho nó 1 cái hàm changcolor là được.
Thực sự là chưa hiểu ý bạn cho lắm

newbie lập trình viết 11:42 ngày 01/10/2018

Viết hàm changecolor() đó như thế nào ?

Văn Dương viết 11:40 ngày 01/10/2018

Winform thì không có cách nào ngoài tự code.

TinBubu viết 11:41 ngày 01/10/2018

Nếu bạn muốn thay đổi lại nhiều lần thì sử dụng hàm DoiMauLable() roi cho tất cả vào hàm này và gọi nó khi nào bạn muốn thay màu tất cả các lable cùng một lúc. Nếu tất cả các label màu giống nhau thì pass màu vào parameter

  private void ThayMau(Color color)
   {
            lb1.BackColor = lb2.BackColor = color;
   }

Khi nào cần sử dụng thì gọi:
ThayMau(Color.Black);

Trần Hoàn viết 11:44 ngày 01/10/2018

foreach(Object i in this)
if (i.ToString() == “System.Windows.Forms.Label”)

Cách này có được không?

Văn Dương viết 11:41 ngày 01/10/2018

Thế còn những label không muốn đổi màu thì sao ?

Trần Hoàn viết 11:37 ngày 01/10/2018

bạn ấy hỏi tất cả mà
với cả code mình đưa chỉ là hướng giải quyết thôi, chứ không thể foreach với this được, vì this không phải kiểu enumerator

Bài liên quan
0