vb表单重新出现而不请求

时间:2017-05-17 08:27:31

标签: vb.net

我已将问题缩小到这个简单的案例,但似乎无法找到正在发生的事情:

  • 我有两个表单,一个按钮,另一个空。
  • 点击按钮后,form1隐藏并显示form2
  • 当showung up,form2将隐藏,并再次显示form1

此外,输入Interlocked.Increment(ref _someField)时,Form2将以MsgBox停止 代码如下。

现在,点击按钮时的预期行为将是

  • Form1隐藏
  • 由于Form1调用Form2.show
  • ,第一个MsgBox可见转为true
  • 由于Form2调用Me.hide
  • ,第二个MsgBox可见转为false
  • Form1显示

这一切确实发生了,但是,

  • Form2出现(Form1仍在那里)
  • msgbox出现(告诉form2.visible再次为True)
  • msgbox出现(告诉form2.visible现在为False)
  • Form2隐藏

知道为什么吗?

这里是代码:

VisibleChanged

以及

Public Class Form1
    Private Sub ButtonGO_Click(sender As Object, e As EventArgs) Handles ButtonGO.Click
        Me.Hide()
        Form2.Show()
    End Sub
End Class

1 个答案:

答案 0 :(得分:0)

好的,所以为了结束:感谢您的回答,他们告诉我们要做些什么来完成"完整的" VB编码器。

对于我的学生,即只使用drag-n-drop-VB的人,解决方案是检查Form1中的条件,然后只有 调用Form2才会显示。

注意:这可能看似微不足道,但它可能不符合"封装"理念。这就是我个案中首先提出这个问题的原因。