-1

我在这方面的编码方面遇到了麻烦。我有两种形式。在第一个表单中,我有列表视图,当我选中复选框时,我将单击按钮以显示第二个表单,第二个表单将显示我在第一个表单中选择的项目。

但我有这样的错误:InvalidArgument='0' 的值对'index' 无效。参数名称:索引

这是我的代码:

'View Technicians Daily Task Code
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e _
                          As System.EventArgs) Handles Button3.Click
    frm_pe.Show()
    Me.Close
    frm_pe.txtid.Text = ListView1.CheckedItems(0).SubItems(0).Text
    frm_pe.txtlname.Text = ListView1.CheckedItems(0).SubItems(1).Text
    frm_pe.txtfname.Text = ListView1.CheckedItems(0).SubItems(2).Text
    frm_pe.txtmi.Text = ListView1.CheckedItems(0).SubItems(3).Text
End Sub
4

1 回答 1

0

在收集到所需数据之前不要关闭第一个表单,而是等待关闭表单,如下所示:

'View Technicians Daily Task Code
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e _
                      As System.EventArgs) Handles Button3.Click
    frm_pe.Show()

    frm_pe.txtid.Text = ListView1.CheckedItems(0).SubItems(0).Text
    frm_pe.txtlname.Text = ListView1.CheckedItems(0).SubItems(1).Text
    frm_pe.txtfname.Text = ListView1.CheckedItems(0).SubItems(2).Text
    frm_pe.txtmi.Text = ListView1.CheckedItems(0).SubItems(3).Text

    Me.Close
End Sub

或者

您可以隐藏表单,如下所示:

Me.Hide

注意:隐藏表单仍会将表单保留在内存中,但使其对用户不可见。

于 2013-09-01T16:29:37.903 回答