用C 如何遍歷乙個窗體中的某一種控制項

2021-04-07 01:11:18 字數 751 閱讀 2164

假設我要遍歷所有的label控制項.我們知道乙個窗體中的所有控制項都是form.controls中的成員,想要得到窗體中的所以成員,可以用foreach來遍歷controls屬性中的物件。注意,controls屬性中包含的物件都是以control基類形式存在的,這就是說我們只能用foreach(control temp in this.controls)來遍歷。對於任何乙個由control派生來的類,或者說是所以控制項,可以用其 gettype()函式來得到控制項的型別。如果要判判斷具體型別需要將型別轉為字串:tempcontrol.gettype().tostring()    它得到的是乙個控制項的完整名字,如:system.windows.forms.label。

現在我們考慮另一種情況,在控制項中,有一些控制項有子控制項如 panel ,groupbox,而這些控制項中又可能包含其它的panel,groupbox,所以我們必須判斷出這些「母控制項」,並用遞迴方法對其中的控制項遍歷!

**如下,在窗體中至少有乙個listbox和 乙個按鈕,注意每個函式接受的引數型別。

private void getlabeinp(panel temp)     //對panel進行遍歷的函式}}

private void getlabeing(groupbox temp)   //對groupbox遍歷}}

private void button1_click_1(object sender, system.eventargs e)  //按鈕的**

}  }

如果你的方法更好,要記得告訴我哦!

用C 如何遍歷乙個窗體中的某一種控制項

如果我要遍歷所有的label控制項.我們知道乙個窗體中的所有控制項都是form.controls中的成員,想要得到窗體中的所以成員,可以用foreach來遍歷controls屬性中的物件。注意,controls屬性中包含的物件都是以control基類形式存在的 這就是說我們只能用foreach co...

如何遍歷乙個窗體中的某一種控制項 c 實現

假設我要遍歷所有的label控制項.我們知道乙個窗體中的所有控制項都是form.controls中的成員,想要得到窗體中的所以成員,可以用foreach來遍歷controls屬性中的物件。注意,controls屬性中包含的物件都是以control基類形式存在的,這就是說我們只能用foreach co...

c 中在乙個窗體中觸發另乙個窗體的事件

c 中在乙個窗體中觸發另乙個窗體的事件 建立兩個窗體,分別為form1,form2,在form1中新增控制項textbox1和button1,建立乙個form2的物件form2 b null 在form2中新增button1,定義委託和事件 定義委託 public delegate void myd...