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

2021-08-08 11:56:47 字數 905 閱讀 8594

如果我要遍歷所有的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)  //按鈕的**

}  }

舉例二:針對遍歷控制項中的button控制項

foreach (control ctl in this.controls)

作用就是遍歷所有控制項,判斷出型別是button按鈕的。取得它的例項,對它進行操作

用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...