投射该计划

时间:2013-11-06 21:14:07

标签: vb.net winforms

在我的项目预项目中,我有第一个表格。在这种形式中,有三个单选按钮。无线电广播说“选项1”,“选项2”,“选项3”。然后我选择其中一个。根据我的决定,一个对象将被实例化:如果我选择“选项1”,该对象将来自类“option1”,如果我选择“option2”,它将来自类“option2”,依此类推......同时,一个WinForm也将根据该决定出现,如果我选择“选项1”将是“WinForm1”,如果我选择“选项2”将是“WinForm2”等等......

第二个WinForm(第一个是使用radiobuttons)的想法是使用于填充所选对象属性的字段出现。填写完所有内容后,我会执行一些计算并执行其他操作。

我的问题是:如何实例化我要使用的对象(基本上,我动态选择我要使用的对象)?我把它放在表格的“加载事件”中吗?如果我这样做,我就无法在不同事件上处理该对象。我是否在每张表格上初始化它?哪种方法更好?

记住,这只是想法,还没有代码。如果您不明白,请现在就让我。

谢谢,

里卡多S.

1 个答案:

答案 0 :(得分:0)

执行此操作的简单方法是基于选项值实例化对象,例如:

Public Sub optionsCheckedChangedHandler(sender as object, e as eventargs) Handles option1.CheckedChanged, option2.CheckedChanged, option3.CheckedChanged

  Dim item as Object = Nothing
  Dim form as Form = Nothing

  If sender is option1 Then
    item = New OptionItemOne
    form = New FormOne With {.OptionItem = item}
  End If

  If sender is option2 Then
    item = New OptionItemTwo
    form = New FormTwo With {.OptionItem = item}
  End If

  If Not Nothing Is form Then
    If DialogResult.OK = form.ShowDialog(Me)
      '  Do something with the "item" if you want to.
    End If
  End If

End Sub

您可以在确定需要时添加复杂程度。