我有一个名为" partmanager "的表单。在它上面有一个按钮,显示另一个表单"允许编辑部件的详细信息。单击该按钮将显示表单,并向参与者传递一个变量"new"例行公事。我的问题是,当调用表单(partmanager)开始时,它立即调用parteditor表单中的新例程,甚至在它(partmanager)初始化之前,所以parteditor表单没有得到应该传递进来的字符串。稍后,当调用表单可见并且我单击按钮以显示parteditor表单时,new已经被过早地调用,因此不会再次调用,并且表单不会获得传入的字符串。我希望这是有意义的!我可以在partteditor表单中实现一个属性并在显示表单之前以这种方式传递变量这样就可以工作了,因此甚至不需要&;new&;例程中的组件形式代码。所以我的问题是,是实现属性的正确方式来传递这个变量的表单被调用,还是我没有正确编码我的表单?(我还有一个叫做"命令"的中间模块;我一直在定义命令过程,在本例中只是显示一个表单。)任何提示将不胜感激,谢谢!
下面是调用表单中按钮的代码:
Private Sub EditButton_Click(sender As Object, e As EventArgs) Handles EditButton.Click
Commands.EditPart(_PartNumber) 'call the editpart command
Me.Close()
Me.Dispose()
End Sub
下面是被调用的表单的代码:
Public Class PartEditForm
Private _partNumber As String = String.Empty
Public Sub New(partNumber As String)
' This call is required by the designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
_partNumber = partNumber
End Sub
Private Sub PartEditForm_Load(sender As Object, e As EventArgs) Handles Me.Load
Label1.Text = _partNumber
End Sub
End Class
下面是我的"commands"中的代码加载/显示表单的模块:
Public PartEditForm As New PartEditForm(_partNumber)
Public Sub EditPart(partnumber As String)
If PartEditForm.IsDisposed Then
PartEditForm = New PartEditForm(partnumber)
End If
PartEditForm.Show()
End Sub
您可以将例程保存在dim变量中,然后在另一个形式中获取它,并关闭第一个形式或隐藏,但您需要在new var中获取并继续之前停止的地方。