投稿日 | : 2005/04/21(Thu) 16:14 |
投稿者 | : しげちー |
Eメール | : |
URL | : |
タイトル | : Re^2: DoEventsについて |
回答頂きありがとうございます。
> 投稿された説明だけでは意味(理由)が解りません。
分かりにくい説明だったようで申し訳ありません。
> 貴方の言っている事象を再現できるコードを投稿されない限り、これ以上は判断できません。
下記がコードです
Private Sub CommandButton1_Click()
Dim i As Integer
CommandButton1.Enabled = False
CommandButton2.Enabled = False
For i = 1 To 10000
Me.Cells(i, 1) = 1
Next
DoEvents
MsgBox "終了"
CommandButton1.Enabled = True
CommandButton2.Enabled = True
End Sub
Private Sub CommandButton2_Click()
Me.Cells(1, 1) = ""
End Sub
動作として、CommandButton1を押した際に
CommandButton1、CommandButton2共にEnabledがFalse表記に描画される
…のつもりなのですが
実際にはCommandButton2のEnabled表記はずっとTrueのように見えています。
> しいて言うなら貴方のDoEventsの使い方がそのようになっているからです。
> プログラムで占有していた制御をオペレーティング システムに渡すフロー制御関数です。
> 従って、DoEvents を実行した時だけしか処理されません。
この書き方では描画がされないのは当たり前なのでしょうか!?