コマンドボタンの押下で1回の処理だけにするには への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 ラキシス  ()
投稿日時
2008/8/27 02:04:00
質問の意図した内容にあった回答になっているか分からないけど、こういう事なのかな?
Public Class Form1
Private isProc As Boolean = False
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Not isProc Then
Button1.Enabled = False
isProc = True
System.Threading.Thread.Sleep(3000)
Button1.Enabled = True
End If
End Sub
End Class
Public Class Form1
Private isProc As Boolean = False
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Not isProc Then
Button1.Enabled = False
isProc = True
System.Threading.Thread.Sleep(3000)
Button1.Enabled = True
End If
End Sub
End Class
投稿者 鍵  ()
投稿日時
2008/8/27 00:09:00
こんにちは。
>Button1.Enabled = False
>
>'処理
>
>Button1.Enabled = True
としても、処理が終わるときにはEnabledがTrueに
なってしまっているので、この方法では対処できません。
Timerを使ってみてはどうでしょうか?
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Button1.Enabled = False
'処理
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Button1.Enabled = True
Timer1.Enabled = False
End Sub
>Button1.Enabled = False
>
>'処理
>
>Button1.Enabled = True
としても、処理が終わるときにはEnabledがTrueに
なってしまっているので、この方法では対処できません。
Timerを使ってみてはどうでしょうか?
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Button1.Enabled = False
'処理
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Button1.Enabled = True
Timer1.Enabled = False
End Sub
投稿者 Taro  ()
投稿日時
2008/8/26 23:22:00
VB2005です。
投稿者 Taro  ()
投稿日時
2008/8/26 23:21:00
こんにちは
連続で同じコマンドボタンを押下すると、
同じ処理が何度もされてしまいます。
一度、コマンドボタンを押下すると、
1回だけの処理がされ、3・4秒そのコマンドボタン
を押下されないようにするには、
どうすればよいでしょうか?
宜しくお願いします。
Click時の最初に
Button1.Enabled = False
'処理
Button1.Enabled = True
としても、連続でコマンドボタンを押下
すると同じ処理されました。
連続で同じコマンドボタンを押下すると、
同じ処理が何度もされてしまいます。
一度、コマンドボタンを押下すると、
1回だけの処理がされ、3・4秒そのコマンドボタン
を押下されないようにするには、
どうすればよいでしょうか?
宜しくお願いします。
Click時の最初に
Button1.Enabled = False
'処理
Button1.Enabled = True
としても、連続でコマンドボタンを押下
すると同じ処理されました。
ばっちりです。
今後とも宜しくお願い致します。