Enable/Disable 一种形式,同时处于另一种形式

Enable/Disable a form while in an another form

我正在尝试找出如何禁用我的表单 (Form1.vb) 而不隐藏它,然后在我完成另一个表单 (Form2.vb) 后启用它。

我在 youtube 上搜索过,但它说的是 C#。我试过了,但不知何故,它在 VS 2015 中被指示为错误。我试着弄乱语法,因为我真的想不通。我试过的语法是 "LandingForm.ActiveForm.Owner.Enabled = True".

下面是我系统的代码。第一个是 form1.vb/LandingForm.vb 第二个是 form2.vb/AcctSettings.vb.

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Me.Enabled = False
        AcctSettings.Show()
    End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        LandingForm.ActiveForm.Owner.Enabled = True
        Me.Hide()
    End Sub

我错过了什么吗?有人可以帮忙吗?

在您的 form1 上只有一行简单的代码,例如

Form2.Show()

wherever/however 您希望打开另一个表单(按钮等)

然后在表单加载处理程序中的那个 form2 的代码中有

Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load

     Form1.Enabled = False

End Sub

这将使 form1 保持打开状态,但基本上将其灰显。 然后像这样单击一个简单的按钮即可访问表单 1。

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Form1.Enabled = True
End Sub

大功告成!如果您希望向 button2 sub 添加另一个按钮或 IF 语句,并说 form1.enabled = false 如果您希望能够 enable/disable 等

enable/disable 您的用户表单: 要禁用您的用户表单,您需要先启用它:

Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load

     Form1.Enabled = True
     Form1.Enabled = False

End Sub

要禁用它会更容易,您只需将 userform.enabled 设置为 False

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Form2.Enabled = True
End Sub

如果您想关闭您的用户表单useroform.Unload可能是解决方案。

在你的代码中应该是这样的:

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Me.Enabled = False
        AcctSettings.Show()
        form1.Unload
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        LandingForm.ActiveForm.Owner.Enabled = True
        Me.Hide()
        form2.Unload
End Sub

另一种选择是隐藏您的用户表单:它只会隐藏用户表单,不会从内存中释放对象和变量。其中 Unload 方法将从内存中释放对象和变量。

UserForm1.Hide

To conclude : Hide 当我们想暂时隐藏表单并在一段时间后显示给用户时,将使用方法。其中 as unload 将在完成任务时使用。

注意这是YourUserForm_Name.卸载