VB.NET选择线形



在vb.net中,我正在创建几个文本框和标签。我正在命名他们的前任。VLabel1VLabel2VLabel3 ...然后我使用CType和一个变量来使用它们。

Dim VarName as String
Dim i as Integer
Dim MyLabel as Label
i=0
VarName = ("VLabel" & i.ToString)
MyLabel = CType(Panel1.Controls(VarName), Label)

现在,我正在使用线形添加线路(我无法使用具有1个高度为1的标签,因为我的线是对角线的(。我可以使用类似的方式选择特定行,或者我必须在shapecontainer中使用循环并比较名称,直到找到我想要的名称?

谢谢,

Stephane

我是否必须在shapecontainer中使用一个循环并比较名称,直到找到我想要的名字?

您认为Controls(VarName)有什么?它也必须按名称查找控件。如果您对此感到满意,则可以在表格中编写一种做同样事情的方法。

但是,对于线形和标签来说,一个更好的选择是使用List(Of LineShape)List(Of Label)。创建动态控件并将其从表单中添加或删除时,也将其添加或删除列表。然后,您可以通过索引引用这些项目,而无需构建名称字符串。您也以这种方式施放更少的铸造。

用名称索引它们的另一个选项是使用Dictionary(Of String,Lineshape)Dictionary(Of String, Label)。几个助手潜艇可以在需要时处理/删除添加/删除,并将/删除到适当的词典中。因此,您还消除了铸造的需求,因为实际对象已经具有正确的类型。

更好的是,由于形状不是标准库的一部分,我建议您学习如何直接绘制您的表格。

我从来没有做过,但是应该可以通过创建从控制类继承并覆盖油漆子来绘制线路的类来实际创建线路作为控件。

相关内容

  • 没有找到相关文章

最新更新