【问题标题】:How to retrieve the value from one form to another in vb.net如何在 vb.net 中将值从一种形式检索到另一种形式
【发布时间】:2011-12-01 12:15:14
【问题描述】:

我无法将字符串从一种形式检索到另一种形式。这是我的代码:这有什么问题?

Public Class Form3

    Dim unit As String

    Public itmname As String
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim obj1 As New Form4
        itmname = tb1.Text
        MessageBox.Show(itmname)
        obj1.Label1.Text = itmname
        obj1.Show()

    End Sub
End Class
Public Class Form4
 Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        With Form3
            MessageBox.Show("item name:" + .itmname)
           Label1.Text = .itmname
        End With
    End Sub
End Class

【问题讨论】:

  • 怎么了?会发生什么?
  • 它显示空值。在第一个 msgbox 中显示我们输入的实际值,在下一个 msgbox 中显示空白

标签: vb.net


【解决方案1】:

您不必在 Form4 中执行任何特殊代码来设置值。您已经从 from3 的按钮单击事件中设置了文本框值。再次设置只是用新实例化表单中的空白值覆盖它。只需清除您在 Form4 的加载事件中列出的所有代码,它应该可以工作。

【讨论】:

  • 我需要进一步澄清。现在我在 Form3 中调用 obj1.Show(),假设我已经在 Form3 中分配了 Form4 的标签值,我想在 form2 中调用 obj1.show,那么我必须在 Form2 中使用什么代码?请回复
  • 如果您在 Form4 上创建一个事件public event ValueChanged(Value as string),并在文本发生更改时使用RaiseEvent ValueChanged(label1.text) 引发它,那么任何监听该事件的人都将能够收到它发生更改的通知。由于您选择的变量和类型名称,遵循您的示例有点困难。如果我不明白您的第二个问题,请告诉我,我会尽力澄清。
  • 我在 Form1 中使用菜单项(如 itm1、itm2、itm3 等....)。如果我点击 itm1,它会打开一个名为 Form2 的新表单,它有一个文本框 tb1 和一个 ok 按钮。如果我在 tb1 上键入 somethimg 并单击“确定”,则该值应添加到 Form3 中的 Combobox cb1 列表中。如果我单击 itm2,则 Form3 应打开 Combobox cb1,其中包含列表中所有添加的项目。这是我的实际流程。请帮助我
  • 如果您从另一个表单传递对一个表单的引用,您可以使用该引用来更新另一个表单上的控件。让我们假设您有 FormA、FormB 和 FormC。如果 FormA 打开 FormB,而 FormB 需要访问 FormC 上的某些内容,则 FormA 可以通过属性 Public Property frmC as FormC 将对 FormC 的引用传递给 FormB。在 FormB 中,您可以执行 frmC.txtFirstName.Text = "Bob" 之类的操作,这将更新 FormC 上的控件。如果您想将您的电子邮件地址发送给我,我可以为您提供一个示例项目,它可以满足我的要求。
  • 好的,先生。我的邮件 ID:sgskavya@gmail.com。请把示例项目发给我。谢谢和问候
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-23
  • 1970-01-01
  • 2011-10-08
相关资源
最近更新 更多