如何为动态创建的自定义控件创建click事件?

时间:2014-09-06 08:25:36

标签: vb.net events controls

假设我正在创建数千个自定义控件,每个控件都有自己的数据(如名称,ID等),现在我想添加

  • 每个自定义控件的点击事件
  • 从软件中访问任何这些动态创建的控件

所以我想显示MsgBox,如果用户点击控件#452,它将返回分配给自定义控件类中对象的值(在用户表单上创建新控件时传递)

第二件事是我想随时访问任何这些对象并读取分配给控件中对象的值....

怎么做?每个控件的名称分配如“Example1”,“Example2”,“Example3”但我不知道如何从代码中访问它,因为在编写过程中存在任何这些...

此外,我试图找到如何创建和提升事件,但似乎所有解决方案都是静态创建的控件,我需要为动态crated自定义控件上升事件....

提前感谢任何提示/帮助解决问题。

我正在使用VB.NET

1 个答案:

答案 0 :(得分:0)

好的我明白了!

实际上非常简单。

如果有人要找答案:

要首先访问动态创建的控件,我们将命名它:

Dim Control as new CustomControl
Control.Name = "Name" & Counter

接下来,在我们创建了新控件之后,我们将使用以下方法访问它:

Dim _Control as new CustomControl
_Control = Ctype(Me.Panel1.Controls("Name1"), CustomControl)
MsgBox(_Control.Name.ToString)

中提琴

我仍然不确定自定义控件上所有控件的自定义事件(所以在用户点击的地方,应该有覆盖事件返回一些东西,现在我只能从里面的代码点击面板容器(不是标签/图片框)用户类或自定义控件上每个控件的事件(但问题是我想将数据从自定义控件传递到用户类)。