2009-04-19 78 views
0

嗨,任何人都可以帮忙吗?我目前正在学习VB.net,但是我需要创建一个项目,并使用一个属性来传递它。要传递的数据将是火车的目的地,到期时间和火车的预计时间。我想知道如果有人可以简单地解释如何首先生成一个数组,然后展示如何将它传递给使用属性的自定义控件,那么任何帮助都会很棒。VB.net 2008 Property Array

谢谢。

+0

这些东西看起来不像是真正适合我的阵列。你确定你需要一个数组吗?你的问题真的是你如何传递参数给一个函数? – erikkallen 2009-04-19 10:45:55

回答

1

如果要为控件提供多个值,则干净的方法是为每个值设置单独的属性,而不是试图将它们全部传递到一个数组中。另一个干净的方法是创建一个新的类(类型),将所有这些值组合到一个结构中,并公开该类型的单个属性。例如:

Public Class TrainDetails 
    Private _destination As String 
    Private _due As DateTime 
    Private _expected as DateTime 

    Public Property Destination As String 
     Get 
      Return _destination 
     End Get 
     Set 
      _destination = Value 
     End Set 
    End Property 

    Public Property Due As DateTime 
     Get 
      Return _due 
     End Get 
     Set 
      _due = Value 
     End Set 
    End Property 

    Public Property Expected As DateTime 
     Get 
      Return _expected 
     End Get 
     Set 
      _expected = Value 
     End Set 
    End Property 
End Class 

(请注意,我认为这是必要的,以实现财产的程序,而不是为了直接露出内部字段值的属性在属性网格露面)

所以,如果你有这个类,那么你可以在你的控件上创建一个TrainDetails类型的属性,将所有这些属性封装在一个值中。我认为它们可以在属性网格中作为单个属性进行编辑,并在其旁边具有可扩展的“+”来编辑各个值。