试图通过表单传递值,但不能正常工作

时间:2017-04-28 11:36:56

标签: vb.net winforms

Dim form As New Mainuser(TextBox1.Text)

出于某种原因,即使TextBox1存在,它仍然表示它未被声明。

此外,在我的代码的其他部分Mainuser.Show()中,它表示无法简化。如果你想帮助我,那么这是我的完整代码:

Login.vb:

Dim form As New Mainuser(TextBox1.Text)
If TextBox8.Text = My.Settings.username AndAlso TextBox9.Text = My.Settings.password Then
    MessageBox.Show("You have successfully been logged in!", "Login Successfull")
    Close()
    Mainuser.Show()

Mainuser.vb:

Public Class Mainuser
    Public Sub New(ByVal value As String)

        InitializeComponent()

        Label1.Text = value

    End Sub
    Private Sub PictureBox2_Click(sender As Object, e As EventArgs) Handles PictureBox2.Click
        HTML_Editor.Show()
    End Sub
End Class

就像我之前说过的,如果这没有任何意义,我会在下面评论你想要的东西。

哦,是的,这是我的错误信息:

  1. (BC30451)未声明TextBox1。由于其保护级别,它可能无法访问。

  2. (BC30469)对非共享成员的引用需要对象引用。

1 个答案:

答案 0 :(得分:0)

使用module可以轻松避免此错误。您可以通过右键单击解决方案来创建一个 - >添加 - >模块。

之后只需声明你的变量,以此为例。

Public _stringname As String
Public _decimalname As Decimal
Public _numbername As Integer
Public _doublename As Double

之后,您只需随时拨打电话即可。例如,您在form1上有一个文本框,您希望将值传递给form2:

Form1按钮点击事件: _stringname = txtYourTextBox.Text _decimalname = txtYourMaskedTextBox.Text

Form2加载事件: lblYourStringLabel.Text = _stringname lblYourDecimalLabel.Text = _decimal

等等......

希望这有帮助。