Vb.net visualbasic格式的标识符

Vb.net visualbasic格式的标识符,vb.net,winforms,Vb.net,Winforms,我有一个表单,用户登录并生成另一个表单 用户提交一个查询。我的问题是,我无法记录谁在进行查询 用户有一个uid和usernamae,但一旦在用户提交查询的地方生成了新表单,这两个标识符就消失了 有没有办法克服这个问题?谢谢如果您只在初始表单中存储UID,则需要将这些值传递到新表单中 本质上,您可以调整字段范围并将值存储在两个表单都可以访问的位置,将它们传递到构造函数(并相应地存储),或者在新表单中提供一个访问器来传递所需的值 要回答有关构造函数的问题,请执行以下操作: 您的代码当前可能如下所示:

我有一个表单,用户登录并生成另一个表单

用户提交一个查询。我的问题是,我无法记录谁在进行查询

用户有一个uid和usernamae,但一旦在用户提交查询的地方生成了新表单,这两个标识符就消失了


有没有办法克服这个问题?谢谢

如果您只在初始表单中存储UID,则需要将这些值传递到新表单中

本质上,您可以调整字段范围并将值存储在两个表单都可以访问的位置,将它们传递到构造函数(并相应地存储),或者在新表单中提供一个访问器来传递所需的值

要回答有关构造函数的问题,请执行以下操作:

您的代码当前可能如下所示:

Dim form2 as New Form2()
form2.Show()
您需要修改第二个表单的构造函数,例如:

Public Sub New() ...
…应该变成

Public Sub New(ByVal userId As String, ByVal userName As String) ...
然后传入第一个表单中的值(其中userId和userName是存储form1值的字段):


然后您可以将它们存储在第二个表单的全局范围内。

这就是我如何将值引入新表单的方法。这似乎是一个简单的解决办法,我不知道这是如此简单


Dim val As String=CStr(Form1.ComboBox1.SelectedValue)

你说的“它们不见了”是什么意思?超出范围?我的意思是,在第二种形式的代码中,它是一个新类,我不知道如何找到它们?有没有办法我仍然可以使用用户名或uid?愚蠢的问题,但我如何才能将它们传递到构造函数?有没有关于如何做到这一点的链接或教程?Thanks@user765942请参阅更新。对任何关键词的错误表示歉意,因为VB.NET不是我的主要语言。谢谢乔治,我很感激
Dim form2 as New Form2(userId, userName)
form2.Show()