【问题标题】:Text Value of Pop up form (another child form) is not pass to first child form under the MDI Parent form弹出窗体(另一个子窗体)的文本值未传递给 MDI 父窗体下的第一个子窗体
【发布时间】:2020-04-07 05:46:47
【问题描述】:

我是 VB.Net 的新手,我创建了一个 MDI 容器,其中创建了两个子窗体“Account_Master”和“F1List”。当我打开“Account_Master”表单并在其 TextBoxAccountName 上按 F1 键时,它应该打开工作正常的 F1List 表单。打开 F1List 后,当我在 TextBoxList 中输入文本并单击 Button1 时,输入的文本应该传递给 Account_Master 的 TextBoxAccountName 并且 F1List 应该关闭。但这并没有发生。这是我的代码。请帮忙。

'Form Account_Master code

Private Sub Account_Master_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles MyBase.KeyDown
    If e.KeyCode = Keys.F1 Then
        Dim f As New F1List
        f.Show()
    End If
End Sub

'形成F1List代码

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Account_Master.TextBox1.Text = TextBoxList.Text
    Me.Close()
End Sub

【问题讨论】:

    标签: vb.net vb.net-2010


    【解决方案1】:

    第二个代码 sn-p 指的是Account_Master 表单类的默认实例。如果您一开始没有显示默认实例,那么您正在更改您正在查看的表单以外的表单。例如,第一个代码 sn-p 不显示F1List 的默认实例,而是显式创建一个实例。显示默认实例如下所示:

    If e.KeyCode = Keys.F1 Then
        F1List.Show()
    End If
    

    与第二个代码 sn-p 一样,您可以通过类名访问默认实例。如果您希望以后能够使用默认实例,那么您需要使用默认实例开始。你不能真正混合和匹配。大多数有经验的开发人员根本不会使用它们,包括我自己,但如果你打算使用它们,请正确使用它们。

    【讨论】:

    • 我相应地更改了第一个代码,但仍然是同样的问题。如果您详细解释为什么它不起作用,那将是非常重要的。
    • 这不是您应该更改的第一个代码。注意我说“作为一个例子”?这只是您如何显示默认实例的一个示例。就像你甚至没有阅读我发布的内容一样。我说问题是您稍后尝试访问Account_Master 的默认实例而没有首先显示Account_Master 的默认实例。如果您想解决这个问题,请显示Account_Master 的默认实例。我提供了一个如何显示默认实例的示例,因此请使用 Account_Master
    猜你喜欢
    • 1970-01-01
    • 2020-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多