【问题标题】:VB.NET Pass Data Between FormsVB.NET 在表单之间传递数据
【发布时间】:2012-12-20 08:19:19
【问题描述】:

首先为我的英语不好感到抱歉。

我正在 VB.NET 中制作应用程序,但遇到了一个小问题。 我有两种形式,一种是主 FORM(始终打开),另一种是作为对话框打开。

在辅助窗体(例如打开的对话框)中,我可以选择要做什么,并且根据我的选择,我必须在主窗体中触发一个事件。 让我解释一下,在子窗体中我选择了客户编号 2,我按 OK,主窗体必须加载与客户编号 2 相关的所有数据。

显然,作为面向对象的 vb.net,我无法从另一个表单调用子表单(因为我无权访问实例),也无法声明新表单,因为主表单始终处于打开状态。

然后我如何传递客户的 ID 并引发要加载的事件?

【问题讨论】:

    标签: vb.net


    【解决方案1】:

    通过 Public 或 Friend 属性在子级中公开客户 ID,例如(子窗体):

    Public Property CustomerID as Integer
    
    Private Sub OK_Click(s as Object, e as eventargs) Handles OK.Click
        CustomerID = id 'pass the value here
        Me.DialogResult = DialogResult.Ok
    End Sub
    

    然后在主窗体上:

    If frmChild.ShowDialog = DialogResult.Ok Then
        MessageBox.Show("Customer ID: " + frmChild.CustomerID)
    End If
    

    【讨论】:

    • 不要忘记“Dim frmchild as new myOtherForm”...如果您从一开始就在表单之间传递数据时不知道这一点,我可以想象这会很烦人。
    • 不幸的是我是个怪人!我知道数据是通过属性传递的,理论上我也知道我可以使用 DialogBox,但是当我编写代码时,我总是想知道这是否是正确的方法,我总是错过一些东西。感谢您的帮助,现在一切正常!
    猜你喜欢
    • 2016-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多