- 題名: 右上ボタン(閉じる等)長押しするとタイマーが停止する。
- 日時: 2012/08/27 14:23:33
- ID: 30858
- この記事の返信元:
- (なし)
- この記事への返信:
- [30859] Re[1]: 右上ボタン(閉じる等)長押しするとタイマーが停止する。2012/08/27 15:31:44
- ツリーを表示
■No30860に返信(みそしるさんの記事)
> 閉じるボタンや最大化ボタンを長押した場合に、長押しをキャンセルする方法はありますでしょうか?
どうでしょうね、まっとうな方法は思いつかないです。
MouseUp 時ではなく MouseDown 時に反応させるぐらいならできそうですが…。
Public Class Form1
'Private Declare Function ReleaseCapture Lib "user32" () As Boolean
Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles Me.Shown
Timer1.Start()
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Text = CStr(Microsoft.VisualBasic.Timer)
End Sub
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
Const WM_NCLBUTTONDOWN As Integer = &HA1
Const HTCLOSE As Integer = &H14
Const HTMINBUTTON As Integer = &H8
If m.Msg = WM_NCLBUTTONDOWN Then
If m.WParam = New IntPtr(HTCLOSE) Then
Me.Close()
ElseIf m.WParam = New IntPtr(HTMINBUTTON) Then
Me.WindowState = FormWindowState.Minimized
ElseIf …
…
Else
MyBase.WndProc(m)
End If
Else
MyBase.WndProc(m)
End If
End Sub
End Class
分類:[.NET]
いつもお世話になっております。
フォームにタイマーを置いて、数字を加算するプログラムを作成してみました。
このソフトの右上にある、閉じるボタンや最大化ボタンを長押しするとタイマーが加算せず、停止してしまいます。(.net、6でも)
ボタンを有効にしたままで、解決方法はありますでしょうか?
宜しくお願いします。