我正在使用windows form application.i有两个froms
在MDIparant表格中我一起打开我的两个表格:
Public Class MDIParent1
Dim frmVE As VisitorInfo
Dim frmVX As VisitorExitsign
Private Sub InvokeToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InvokeToolStripMenuItem.Click
frmVX = New VisitorExitsign
frmVX.Location = New Point(781, 0)
frmVX.MdiParent = Me
frmVX.Show()
frmVE = New VisitorInfo()
frmVE.Location = New Point(0, 0)
frmVE.MdiParent = Me
frmVE.Show()
现在两个表单都是opend。我在Visitoinfo表单中有一个保存按钮 我在visitorexitsign form.name中也有文本框是txtvisitoridExit 虽然cliking保存按钮我想检查wethar这个文本框(txtvisitoridExit)包含任何值,然后我必须在VisitorExitsign表单中的cal函数..所以我写了这样的代码:
Dim forms As FormCollection = Application.OpenForms
For Each form As Form In forms
If form.Name = "VisitorExitsign" Then
Dim vs As String = CType(form, VisitorExitsign).txtvisitoridExit.Text
VisitorExitsign.savebutton()
End If
Next
如果vs。但是这里有价值 在访问VisitorExitsign页面的同时获取此文本框值(txtvisitoridExit.Text)null.how来到该值变为null 我怎么解决这个问题?
答案 0 :(得分:0)
原因:您正在调用另一个范围(VisitorExitSign)中的局部变量,这将导致空值。
解决方案:为要以其他形式调用的内容定义公共静态值。
示例: - 强> 在第一种形式
Public Static Dim textbox1 As String = txtvisitoridExit.Text
在第二个
Dim vs As String = CType(form,VisitorExitsign).txtvisitoridExit.Text
结论:您将获得真正的价值。