我是靠谱客的博主 潇洒酒窝,最近开发中收集的这篇文章主要介绍C# 控件遍历,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 

遍历控件

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 : PictureBox
{
[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern IntPtr SendMessage(IntPtr hWnd, int msg, int wparam, int lparam);
protected override void OnMouseDown(MouseEventArgs e)
{
base.OnMouseDown(e);
if (e.Button == MouseButtons.Left)//按下的是鼠标左键
{
Capture = false;//释放鼠标,使能够手动操作
SendMessage(this.Handle, 0x00A1, 2, 0);//拖动窗体
}
}
}


 字符串类型转换为控件对象问题

1. 使用反射

反射提供了由语言编译器(例如   Microsoft   Visual   Basic   .NET   和   JScript)用来实现隐式晚期绑定的基础结构。绑定是查找与唯一指定的类型相对应的声明(即实现)的过程。由于此过程在运行时而不是在编译时发生,所以称作晚期绑定。Visual   Basic   .NET   允许您在代码中使用隐式的晚期绑定;Visual   Basic   编译器将调用一个帮助器方法,该方法使用反射来获取对象类型。传递给帮助器方法的参数有助于在运行时调用正确的方法。这些参数包括:对其调用方法的实例(对象),被调用方法的名称(字符串),以及传递给被调用方法的参数(对象数组)。

2. 控件遍历

Control[] ctr;  
ctr = form对象.Controls.Find("字符串", true);

最后

以上就是潇洒酒窝为你收集整理的C# 控件遍历的全部内容,希望文章能够帮你解决C# 控件遍历所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部