首页 / 知识
VB6控件数组最简单的.NET等效项是什么?
2023-04-13 22:29:00
What's the simplest .NET equivalent of a VB6 control array?也许我只是不太了解.NET,但是我还没有看到一种令人满意的方法来在.NET中轻松实现此简单的VB6代码(假设此代码位于数组Command1()和N中的N CommandButtons窗体上) 数组Text1()中的TextBoxes:
我知道这不是非常有用的代码,但是它演示了可以在VB6中轻松使用控件数组的代码。 C#或VB.NET中最简单的等效项是什么? 列出文本框的一般列表:
VB .NET所做的另一件好事是拥有一个可以处理多个控件的事件处理程序:
.Net中没有真正的一对一模拟。当然,您可以创建特定类型的控件的数组或列表,但是没有什么可以自动为您完成此操作。 但是,我从未见过无法在.Net中重构为更好的控件数组。一个很好的例子就是你的例子。在您发布的方案中,您正在使用控件数组将按钮与文本框配对。在.Net中,您可能会使用自定义控件来执行此操作。自定义控件将包含一个按钮,一个文本框,以及一个共享/静态计时器。该窗体使用此自定义控件的多个实例。您只需实施一次控件所需的逻辑,然后将其隔离到自己的源文件中,即可在源代码控件中对其进行跟踪和编辑,而无需与较大的表单类合并,也可以轻松地在多个表单甚至多个项目中重复使用。您也不必担心确保命令按钮索引与文本框索引匹配。 为此,使用自定义控件而不是控件数组与使用类对数据而不是数组进行分组大致相似,因为您将获得名称而不是索引。 有两个方面。 .NET很容易支持控件数组,VB6只能使用一种解决方法,因为否则,连接事件真的很困难。在.NET中,动态连接事件很容易。 但是,.NET表单设计器不支持控件数组的原因很简单:控件数组是在运行时创建/扩展的。如果知道在编译时需要多少个控件(推理就行了),那么可以给它们指定不同的名称,而不必将它们放在数组中。
这就是重点。如果没有功能,为什么还要使用它? 如果需要,您还可以按名称访问控件,结果如下:
VisualBasic .NET的兼容性库包含强类型控制数组。这就是升级向导用来替换当前VB6控制阵列的内容。 但是,VB6中的控件数组只是对象的集合,而VB6在表面上做了一些语法魔术。在.NET世界中,通过删除此选项,他们正在强制采取更好的做法。 最后,随着泛型的出现,没有什么可以阻止您使用
我知道我的回答还很晚,但是我想找到了解决方案。我不是唯一在VS的限制下苦苦挣扎的前VB6开发人员。很久以前,我试图迁移我设计的CRM,但是失败了,因为我对控制数组有很强的依赖性(一种形式有数百种)。我阅读了很多论坛,并且能够编写以下简单代码: VB.NET:
C#:
有3点需要考虑: 设计模式下的示例:
正在运行:
我认为,类似的逻辑可能会在WPF,ASP.NET(Web窗体)或Xamarin(窗体)等其他技术中使用。我希望这段代码将来可以帮助更多的程序员。
VB6中控制阵列的两个主要优点是:
(1)可以使用一系列控件在.Net中完成 .Net的一件好事是这些功能是分离的。因此,例如,您可以具有共享事件的控件,即使它们不是数组的一部分,并且具有不同的名称,甚至具有不同的类型。即使控件具有完全不同的事件,也可以遍历控件的集合。 相同的单击事件可以处理.Net中多个按钮的按下。然后可以添加文本框以在Tag属性中找到?
制作一系列控件。
|
最新内容
相关内容
对数组使用Python For循环
对数组使用Python For循环,名称,培训,代码,健康,水牛,数组,元素,有用,下面,以上,您可以使用for循环从数组中获取特定元素。假设您有一组水牛b使用Python删除排序数组中的重复项
使用Python删除排序数组中的重复项,代码,培训,数组,元素,长度,示例,序数,函数,原地,后面,问题描述:给定一个排序数组,你需要在原地删除重复出现Python 数组ndarray
Python 数组ndarray,数据,一致,培训,项目,数组,元素,类型,数据类型,复数,坐标,Numpy中定义的最重要的对象是成为ndarray的N维数组类型。它描python如何创建空数组?
python如何创建空数组?,数据,培训,数组,形状,列表,对象,参数,方式,嵌套,初始化,python创建空数组的三种方式:1、numpy指定形状为0实际上,emptypython怎么在数组添加一行?
python怎么在数组添加一行?,培训,下标,维度,数组,列表,函数,形状,元素,代表,原型,python中在数组添加一行的方法:python中可以使用stack()函数python如何判断多维数组多少列
python如何判断多维数组多少列,第一,培训,数组,函数,表示,矩阵,以上,功能,方法,更多,python获取数组行数和列数的方法:importnumpyasnpx=np.arpython如何去除数组中的指定元素
python如何去除数组中的指定元素,培训,元素,函数,除数,序列,参数,示例,语法,以上,条件,python中可以使用filter()函数来删除数组中指定元素。python中如何清空数组(列表)元素
python中如何清空数组(列表)元素,代码,培训,数组,列表,元素,示例,范围,类型,方法,初始化,python本身并没有数组类型,但是他的Numpy库中有数组python中怎么打印数组
python中怎么打印数组,代码,培训,数组,语句,数据类型,下面,形式,以上,参数,以下,列表是Python中最常用的数据类型之一。我们知道,Python打印列python空数组怎么表示
python空数组怎么表示,培训,位置,数字,序列,列表,索引,数据项,逗号,数组,方括号,序列是Python中最基本的数据结构。序列中的每个元素都分配一python如何对数组删除元素
python如何对数组删除元素,培训,元素,数组,索引,根据,时会,所在位置,以上,以下,操作,python中关于对列表元素的删除操作,有以下几种方式1.remopython如何用python随机产生一个一
python如何用python随机产生一个一维数组,数字,培训,步长,整数,数组,参数,函数,小数位,之间,两个,使用random模块生成随机数组python的random