DOBON.NET DOBON.NETプログラミング掲示板過去ログ

フォームの表示について

分類:[.NET]

皆さん。お疲れ様です。よしねです。
質問ですが、

[VB6.0]
Private Sub Command1_Click()
'カーソルを砂時計にする。
Screen.MousePointer = vbHourglass

'何かの処理・・・・

'第1画面を閉じる。
Unload Form1

'第2画面を表示する。
Form2.Show

'カーソルを砂時計にする。
Screen.MousePointer = vbDefault
End Sub

ボタンを押すとマウスポインタが砂時計になり、処理を行なったあと、画面表示
を行なってそれ以降の処理でカーソルを標準に戻すということが実現できて
いたと思うのですが、.NETでは

Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click

'カーソルを砂時計にする。
System.Windows.Forms.Cursor.Current = Cursors.WaitCursor

'何かの処理・・・・
Sleep(1000)

'第1画面を閉じる。
Form1.DefInstance.Close()

'第2画面を表示する。
Form2.DefInstance.Show()

'カーソルを砂時計にする。
System.Windows.Forms.Cursor.Current = Cursors.Default

End Sub

となり、プログラムが終了します。ShowDialogだとその場で処理が止まってしまうので
画面を表示したあとの処理を行なうためにはどうすればいいでしょうか?
やはりVB.NETではHideなどを駆使するしか方法はないのでしょうか???
助けてください。お願いします。
カーソルの形状のみを考えるなら、ヘルプに
Visual Basic .NET の場合、変更されたカーソルの外観は、
次に Windows メッセージが処理されるときまで
(次の DoEvents イベントまで、またはプログラムの処理が完了するまで)
しか保持されません。
となっているので、気にする必要は無いと思いますが?
スタートアップの設定をSub Main にすればいいのでは


Sub Main()
Dim frm1 As New Form1
Dim ret As DialogResult = frm1.ShowDialog()
If ret = DialogResult.OK Then
Dim frm2 As New Form2
frm2.ShowDialog()
End If
End Sub


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

'略

Me.DialogResult = DialogResult.OK
Me.Close()
End Sub
お疲れ様です。よしねです。
お答え頂きありがとう。ございました。
参考にさせていただきます。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板