- - PR -
Application.DoEventsについて
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-03-06 09:40
下記のソースで
画面上のフォームをロックしたり解除したりしているのですが Application.DoEventsでロック中に操作されたイベントを全て 解除しようとしているのですが、出来ません。 なぜでしょうか? Public Function comHourglass(ByRef bMouseFlg As Boolean) As Short '画面上のフォームを取得 Static currentForm As Form If bMouseFlg Then If currentForm Is Nothing Then currentForm = Form.ActiveForm End If If Not currentForm Is Nothing Then If currentForm.Enabled = True Then currentForm.Enabled = False Application.DoEvents() currentForm.BringToFront() End If End If System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor Else If Not currentForm Is Nothing Then If currentForm.Enabled = False Then currentForm.BringToFront() Application.DoEvents() currentForm.Enabled = True currentForm = Nothing End If End If System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default End If comHourglass = True End Function | ||||||||
|
投稿日時: 2007-03-06 10:01
提示されたソースと System.Windows.Forms.Application.DoEvents メソッドの関連がわからないです。 呼び出し元を書いた方が良いのではないでしょうか。
関係ないですが、戻り値の型が違いますね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2007-03-06 10:43
ボタンクリックイベントで
一番最初に comHourglass(True)で画面をロックし 一番最後に comHourglass(False)で画面を解除しています。 Application.DoEventsが、ない場合 ロック中にキーボードの操作を行うと 画面が解除された時にキーボードの操作した内容が動きます。 ただロック中にApplication.DoEventsの文をいれると ロックが解除される前にキーを押したイベントが走り 画面がロック中の為、無効になると思っています。 それがうまくいきません。 説明不足ですいません。 | ||||||||
|
投稿日時: 2007-03-06 12:40
という感じのコードでしょうか。 [ メッセージ編集済み 編集者: すけけん 編集日時 2007-03-06 12:42 ] | ||||||||
|
投稿日時: 2007-03-06 13:38
そうです。 | ||||||||
|
投稿日時: 2007-03-06 14:32
ここの '起きてしまう内容' が、未だにわからないです。 手順はわかったのですが、実際何がうまくいかないのでしょう。 無効になっていると思いますが... _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2007-03-06 16:08
ロック中にApplication.DoEvents文を入れてるにも関わらず、
ロック中にキー入力した情報が ロック解除後にキー入力したイベントが走ります。 | ||||||||
|
投稿日時: 2007-03-06 16:21
ロック中に走らせている処理にApplication.DoEvents文を入れてるにも関わらず、・・でしょうか?comHourglass()の中に(何故か)Application.DoEventsがあるのはわかりましたが、問題は処理中ではないのですか? [ メッセージ編集済み 編集者: shimix 編集日時 2007-03-06 16:22 ] |