我正在制作WPF应用程序,当我在其中一个窗口上调用Private Sub MainWindow_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
getPort()
connect()
updateData()
End Sub
Private Sub getPort()
Dim myChooseCom As New ChooseCOM
myChooseCom.ShowDialog()
myChooseCom = Nothing
End Sub
Private Sub connect()
Me.Hide()
Dim connectWindow As New ConnectWait
connectWindow.Show()
connectSerial(SerialName)
connectWindow.Close()
Me.Show()
End Sub
Private Sub connectSerial(port As String)
Try
SerialPort.PortName = port
SerialPort.BaudRate = 9600
SerialPort.DataBits = 8
SerialPort.Parity = Parity.None
SerialPort.StopBits = StopBits.One
SerialPort.Handshake = Handshake.None
SerialPort.Encoding = System.Text.Encoding.Default
SerialPort.Open()
Catch ex As Exception
MsgBox(ex.Message + "Verify that the Bluetooth device is on.")
Me.Close()
End Try
End Sub
时,窗口的实际内容不会显示出来。显示标题栏但其余为空白。我想打开窗口(其中只包含标有"正在连接..."的标签),然后继续我的程序。
getPort()
connect()
运行并创建一个ChooseCOM窗口,其中所有控件都正常显示。 ChooseCOM设置SerialName,这是一个全局的。然后,connectSerial()
隐藏了主窗口,我打开了一个ConnectWait窗口,这个窗口只是一个标签上写着" Connecting ..."。我希望这个窗口在SerialPort.Open()
运行时打开,因为connectWindow
需要几秒钟,我宁愿用户知道程序仍处于活动状态并连接到串行端口。然而,"连接..."标签永远不会显示,Scala
在关闭之前一直保持空白。在继续之前如何强制窗口完全加载?