网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VB.net > 正文
VB.NET和VC#.NET中控件数组的建立
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式

  Visual Basic .NET和C#允许你复制与控件数组相关的一些功能。例如,你能使用委托把多个对象的事件绑定到一个事件处理程序。但是,如果把这些功能合并到一个动态的、容易管理的组件中更加简便。本文将建立有下面特性的组件:

  ·建立索引和排序控件的集合。将使用按钮集合来演示。

  ·一个事件处理程序来处理衍生的按钮的点击事件。

  ·使用索引引用控件和成员的代码。

  ·给窗体动态添加和删除控件的代码。

  预备知识

  ·了解属性组件和它们的工作方式。

  ·了解一些组件的多态性

  ·知道Visual Basic .NET或C# .NET的语法。

  建立项目

  在本节中将建立并命名一个项目,并给该项目添加一个类。该类将封装实现控件数组的代码。

  1、选择File-> New-> Project菜单打开New Project对话框。

  2、从Visual Basic或Visual C#项目列表中选择Windows Application项目模版,在Name框中输入ButtonArrayProject。

  3、选择File-> Save All保存项目。

  实现一个集合

  ButtonArray类会处理通过一个集合的实现来保存和组织控件数组的事务。集合是包含索引对象变量列表的对象,也包含add、remove等方法和其它的操作对象。本节中将建立一个继承自System.Collections.CollectionBase(.NET框架组件中提供必要的集合功能的类)的类,并实现提供必要功能的方法。

  建立继承类的过程:

  1、从Project菜单中选择Add Class。

  2、根据情况把类命名为ButtonArray.vb或者ButtonArray.cs。类的代码编辑器将打开。

  3、在类的声明中,指定它继承自.NET框架组件的System.Collections.CollectionBase类。

'' Visual BasicPublic Class ButtonArray   Inherits System.Collections.CollectionBaseEnd Class// C#public class ButtonArray : System.Collections.CollectionBase{   // 省略了设计者增加的代码}

  System.Collections.CollectionBase类为集合提供了很多必要的功能。其中包括一个跟踪集合中对象的List对象,维护集合中当前对象数量的Count属性,允许删除特定位置索引的对象的RemoveAt方法。在实现控件数组集合时会使用到它们。

  因为每个控件数组与一个窗体关联,索引必须添加一个字段来保存该窗体的引用。通过建立私有的、只读字段来保存引用,可以保证每个控件数组组件只与以一个窗体关联。

  为组件建立私有、只读字段

  立即给类声明添加下面的代码:

'' Visual BasicPrivate ReadOnly HostForm as System.Windows.Forms.Form// C#private readonly System.Windows.Forms.Form HostForm;

  在集合中实现的第一个方法是AddNewButton。该方法建立一个新的按钮控件并把它添加到目标窗体。你也可以使用该方法为新按钮设置初始属性。

  实现AddNewButton方法

  在ButtonArray类的代码编辑器中输入下面的代码:

Public Function AddNewButton() As System.Windows.Forms.Button   ''为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 = "Button " & Me.Count.ToString   Return aButtonEnd Function// C# public System.Windows.Forms.Button 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 = "Button " + this.Count.ToString();   return aButton;}

 

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号