如何取得窗体中的组件(Component) 列表

先谈两个基本概念,以免有的朋友看不懂

1.什么是组件

Component类型是在System.ComponentModel空间下定义的的一些类型。它与控 件(Control)的最大区别在于它们没有界面。

2. 哪些是组件。工具箱里面专门有一个选项卡是放组件的,而且组件拖放到 窗体后,并不在窗体上显示,而是在窗体底部一个区域显示

列表-component组件">

言归正传,我们今天要解决什么问题呢?

这些组件可以拖放在窗体上,但是如果我们需要遍历他们,那么该怎么办呢? 例如我们需要在另外一个类型里面,动态地解析这个窗体上有几个 backgroundworker,应该怎么做呢?

有些同学马上会灵机一动,说,我们遍历窗体的Controls集合吧?是这样吗? 刚才就说过了,组件不是Control,自如不会添加到 Controls集合中去。

那么,我们是不是可以遍历Components集合呢?很不错的想法,但是不行,因 为窗体没有所谓的Components属性。

额。实在太难了,这也不行,那也不行,还让不让人活了呢?

好吧,好吧,just follow me ,下面我们来看看如何解决该问题?

首先,我们打开Form1.designer.cs文件,看一些这些组件是如何初始化的

时间: 2024-10-27 17:00:02

如何取得窗体中的组件(Component) 列表的相关文章

C#中TreeView组件使用方法初步

TreeView组件是由多个类来定义的,TreeView组件是由命名空间"System.Windows.Forms"中的"TreeView"类来定义的,而其中的节点(即Node),是由命名空间"System.Windows.Forms"中的"TreeNode"来定义的.所以当在程序中创建一个TreeView对象,其实只是创建了一个可以放置节点的"容器".而在这个容器中加入一个节点,其实就是加入了从"

让窗体飘动起来--C#中Timer组件用法

Timer组件是也是一个WinForm组件了,和其他的WinForm组件的最大区别是:Timer组件是不可见的,而其他大部分的组件都是都是可见的,可以设计的.Timer组件也被封装在名称空间System.Windows.Forms中,其主要作用是当Timer组件启动后,每隔一个固定时间段,触发相同的事件.Timer组件在程序设计中是一个比较常用的组件,虽然属性.事件都很少,但在有些地方使用它会产生意想不到的效果. 本文介绍的程序,是用Visual C#做的一个窗体飘动的程序,这其中就大量的使用了

c++builder如何将容器中的组件坐标转化为相对空间相对与窗体的坐标

问题描述 c++builder如何将容器中的组件坐标转化为相对空间相对与窗体的坐标 5C c++builder设计窗体时,用了个多页窗体PageControl,在PageControl中加了个Stringgrid1我需要在stringgrid1的第二列加上combobox,但是怎么设置坐标运行结果都错,我是拿stringgrid1的屏幕坐标减去窗体的屏幕坐标在加上单元格相对于stringgrid1的位置,但是运行的位置总是不对,拜托各位大神帮个忙,我这一直弄不出来,下面工作没法继续!刚注册的账号

打开pythoncard点击组件component中的Button后显示这个是什么意思。

问题描述 打开pythoncard点击组件component中的Button后显示这个是什么意思. 新手刚学.求轻拍 打开pythoncard点击组件component中的Button后显示这个是什么意思. 解决方案 程序出错了,不知道不是它自身的bug

VB.NET中的组件开发

组件开发 先看段组件的代码:(临时写的,写得比较乱) ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '' 登录验证组件 '' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Imports System.Security.CryptographyImports System.TextImports System.DataImpo

vue中的组件

什么是组件 组件(Component)是Vue.js最强大的功能之一.组件可以扩展HTML元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js的编译器为它添加特殊功能.在有些情况下,组件也可以是原生HTML元素的形式,以is特性扩展 使用组件 注册 我们可以通过以下方式创建一个Vue实例: new Vue({ el: '#some-element', // 选项 }) 要注册一个全局组件,可以使用Vue.component(tagName, options).例如: Vue.co

Ext 4 概述(五)之布局Layout、组件Component、Form

Layout 参考资源 Ext 4 Layouts (video) Ext 4 Layouts (slides ComponentLayout ComponentLayout是一种新型的布局方式,许多复杂的组件就采用这种布局(与之对应的为ContainerLayout,"ContainerLayout"--传统基于容器布局的新名字)来计算内置元素的大小尺寸,以响应resize的调用.Field字段组件的FieldLayout布局,关于labell控件和input元素控件的大小尺寸和定位

窗体中字段顺序不同于Access 2007中记录源中字段顺序

症状 Microsoft Office Access 2007, 中拖动字段到窗体, 时窗体中字段顺序不同于记录源中字段顺序. 如果下列条件为真会发生此问题: • 在拖动字段来自记录源中的表. • 您将字段拖动到版式视图中窗体. 原因 出现此问题的是因为中表记录源中字段显示顺序与中访问 2007 返回字段顺序无关. 更多信息 步骤来重现问题 1. 在 Access 2007年打开数据库. 2. 关闭所有打开对象. 3. 在 创建 选项卡, Forms 组中单击 空白表单 . 窗体版式视图中打开.

利用Java Beans在应用程序中创建组件

JavaBeans模块使开发人员能够创建称之为组件的软件单元(也就是我们熟知的beans).你可以把beans加载在更复杂的组件.Java小型应用程序(applets)或应用程序上.JavaBeans广泛应用于IDE应用程序,使你能够很容易地可视化组合组件并动态修改它的属性. Beans是动态的,允许你改变和定制它.在JavaBean Builder Tool里的设计模块中,你能利用 Bean的属性窗口来可视化定制和保存(持久)bean.你也可以从toolbox中选择一个bean,把它拖拽到窗体