没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|其它|编辑:郝浩|2005-03-23 14:23:00.000|阅读 1054 次
概述:
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
摘要:本文介绍如何使用 Visual Basic® .NET 和 Visual C#™ .NET 创建和管理控件数组。
目录
简介
数组为使用共享公共功能的控件组提供了一种方便的方式。例如,控件组可以用来显示相关数据,或者在单击时提供相关的操作。Visual Basic .NET 和 C#
本身并不支持创建控件数组,但您可以通过编程来复制控件数组的全部功能。本文将指导您创建一个复制控件数组功能的简单组件。
控件数组的某些用处如下所示:
' Visual Basic 伪代码 MyControl(myIndex).MyProperty = myValue MyControl(myIndex + 1).MyMethod // C# 伪代码 myControl[myIndex].myProperty = myValue; myControl[myIndex + 1].myMethod |
' Visual Basic 伪代码 Private Sub MyControl_Click(sender as Object, e as EventArgs) Messagebox.Show("您已单击 MyControl 编号" & _ MyControl.Index) End Sub // C# 伪代码 private void myControl_Click(System.Object sender, System.EventArgs e) { Messagebox.Show("您已单击 MyControl 编号" + MyControl.Index); } |
' Visual Basic 伪代码 Dim i as Integer For i = 1 to 5 ' 插入代码以创建控件并为属性分配值。 Next i // C# 伪代码 for (int i = 1; i < 6; i++) { // 插入代码以创建控件并为属性分配值。 } |
Visual Basic .NET 和 C# 允许您复制部分此类功能,例如,使用代理将多个控件中的事件绑定到单个事件处理程序。但是,如果将该功能并入单个动态的、易于管理的组件,可能会更方便。本文中,我们将创建使用以下内容的组件:
前提
创建项目
本节中,我们将创建和命名项目,并在项目中添加一个类。该类将封装实现控件数组的代码。
创建 ButtonArrayProject 和 ButtonArray 组件
实现集合
ButtonArray
类将通过实现集合来完成支持和组织控件数组的任务。集合是一个对象,它包含经过索引的对象变量的列表,以及在集合中添加、删除或者操作对象的方法。本节中,我们将创建继承自
System.Collections.CollectionBase(.NET 框架中的类,提供集合所需的很多功能)的类,并实现提供所需功能的方法。
创建继承的类
' Visual Basic Public Class ButtonArray Inherits System.Collections.CollectionBase End Class // C# public class ButtonArray : System.Collections.CollectionBase { // 省略了由设计器添加的代码。 } |
System.Collections.CollectionBase 类提供集合所需的许多功能。其中包括 List
对象(跟踪集合所包含的对象)、Count 属性(维护当前集合中的对象总数)和 RemoveAt
方法(按特定索引删除对象)。在实现控件数组集合时,要用到这些功能。
由于所有控件数组组件都要与一个窗体相关联,因此需要添加一个字段以保留对该窗体的引用。通过创建专用的只读字段来保留该引用,可以确保每个控件数组组件只与一个窗体相关联。
在组件中添加专用的只读字段
' Visual Basic Private ReadOnly HostForm as System.Windows.Forms.Form // C# private readonly System.Windows.Forms.Form HostForm; |
必须在集合中实现的第一个方法是 AddNewButton。此方法将创建新的按钮控件,并将其添加到所需的窗体中。还需要使用此方法设置新按钮的初始属性。
实现 AddNewButton 方法
Public Sub AddNewButton() ' 创建 Button 类的新实例。 Dim aButton As New System.Windows.Forms.Button() ' 将按钮添加到集合的内部列表。 Me.List.Add(aButton) ' 将按钮添加到由 HostForm 字段 ' 引用的窗体的控件集合中。 HostForm.Controls.Add(aButton) ' 设置按钮对象的初始属性。 aButton.Top = Count * 25 aButton.Left = 100 aButton.Tag = Me.Count aButton.Text = "按钮 " & Me.Count.ToString End Sub // C# public void AddNewButton() { // 创建 Button 类的新实例。 System.Windows.Forms.Button aButton = new System.Windows.Forms.Button(); // 将按钮添加到集合的内部列表。 this.List.Add(aButton); // 将按钮添加到由 HostForm 字段 // 引用的窗体的控件集合中。 HostForm.Controls.Add(aButton); // 设置按钮对象的初始属性。 aButton.Top = Count * 25; aButton.Left = 100; aButton.Tag = this.Count; aButton.Text = "按钮 " + this.Count.ToString(); } |
此方法将:
还必须创建一个构造函数(对组件进行实例化时运行的方法),用于设置 HostForm
字段的值,并且只要创建控件数组类的新实例,便可自动在窗体中添加新按钮。您可以通过以下方式完成此任务。
创建构造函数
' Visual Basic Public Sub New(ByVal host as System.Windows.Forms.Form) HostForm = host Me.AddNewButton() End Sub // C# // 使用此构造函数替换默认的构造函数。 public ButtonArray(System.Windows.Forms.Form host) { HostForm = host; this.AddNewButton(); } |
构造函数需要一个参数,即放置按钮数组的窗体。它指定提供给 HostForm 字段的值,然后调用类的 AddNewButton 方法在窗体中添加新按钮。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号