vb.net中的ShowDialog()无法正常工作

时间:2016-01-24 12:19:59

标签: vb.net

我不确定这个问题是否已经发布,但由于找不到我正在寻找的答案,所以无论如何我都会问。

当我使用ShowDialog()从当前表单调用另一个表单时,它只是在第一次打开时显示控件的名称,如果我关闭它并再次打开它然后显示它应该有的。例如,如果我写一个简单的代码如下

Form1中

Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Form2.Display("Message")
End Sub
End Class

Form2

Public Class Form2
Public Sub Display(ByVal msg As String)
    Me.ShowDialog(Parent)
    Label1.Text = msg
End Sub
End Class

当我第一次点击按钮时,我得到的是“Label1”而不是被叫表格上显示的“消息”但是当我第二次点击按钮时,我得到了所需的输出。 我用Show()尝试了同样的事情并且没有任何这样的问题。但是我需要被调用的表单是模态的(比如MessageBox),所以有没有其他方法可以做到或者有人能告诉我使用ShowDialog()的正确方法吗? 我是vb的新手所以请保持简单。

由于

1 个答案:

答案 0 :(得分:1)

ShowDialog是一个阻止调用。您需要在调用之前设置所有内容。