C# 控件遍历

本文介绍了如何在C#中遍历窗体上的控件,如使用`foreach(Control control in this.Controls)`,以及如何获取`TabControl`中选中页的子控件。此外,还探讨了通过反射进行字符串到控件对象的转换,详细说明了反射在运行时实现隐式晚期绑定的功能,并给出使用`Controls.Find`方法寻找特定控件的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

遍历控件

foreach (Control control in this.Controls)
            {
                if (control.GetType() == typeof(PictureBox)) //按类型查找
                {
                    PictureBox pb = control as PictureBox; //转换为具体控件类型
                    MessageBox.Show(pb.Image.Height.ToString());
                }
                if (control.Name == "pictureBox2") //查找某Name的控件
                {
                    MessageBox.Show("我是名为pictureBox2的控件");
                }
            }


Control control in this.Controls

 遍历当前控件的所有子控件,这里的子控件就是Form了。

由于form上的每一个控件都继承于 Control类,这里一般用在 foreach(Control control in this.Controls )句型里面,是遍历form上的每个控件元素,把每个当前控件装箱成 control实例,进行操作。

又例如:tabControl1.TabPages[tabControl1.SelectedIndex].Controls;//获得当前选中的选项卡中的子控件

 

拖动窗体的代码

public class MoveablePictureBox : PictureBo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值