16,717
社区成员
发帖
与我相关
我的任务
分享
Protected Overrides Sub DefWndProc(ByRef m As System.Windows.Forms.Message)
Const WM_LBUTTONDBLCLK As Integer = &H203
If m.Msg = WM_LBUTTONDBLCLK Then
'处理双击
Else
MyBase.DefWndProc(m)
End If
End Sub
Public Class MyMaskedTextBox
Inherits MaskedTextBox
Private Sub MyMaskedTextBox_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDoubleClick
Select Case Me.GetCharIndexFromPosition(e.Location)
Case 0, 1, 2, 3
Me.Select(0, 3)
Case 4, 5, 6, 7
Me.Select(4, 3)
Case 8, 9, 10, 11
Me.Select(8, 3)
Case 12, 13, 14, 15
Me.Select(12, 3)
Case Else
Exit Sub
End Select
End Sub
Protected Overrides Sub DefWndProc(ByRef m As System.Windows.Forms.Message)
Const WM_LBUTTONDBLCLK As Integer = &H203
If m.Msg = WM_LBUTTONDBLCLK Then
Else
MyBase.DefWndProc(m)
End If
End Sub
End Class
Private Sub MaskedTextBox1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MaskedTextBox1.MouseDoubleClick
'先把消息队列中的消息处理了,再进行你的处理
Application.DoEvents()
Label1.Text = MaskedTextBox1.GetCharIndexFromPosition(e.Location)
Select Case MaskedTextBox1.GetCharIndexFromPosition(e.Location)
Case 0, 1, 2, 3
MaskedTextBox1.Select(0, 3)
Case 4, 5, 6, 7
MaskedTextBox1.Select(4, 3)
Case 8, 9, 10, 11
MaskedTextBox1.Select(8, 3)
Case 12, 13, 14, 15
MaskedTextBox1.Select(12, 3)
Case Else
Exit Sub
End Select
End Sub
Protected Overrides Sub DefWndProc(ByRef m As System.Windows.Forms.Message)
Const WM_LBUTTONDBLCLK As Integer = &H203
If m.Msg = WM_LBUTTONDBLCLK Then
Select Case i
Case 0, 1, 2, 3
MaskedTextBox1.Select(0, 3)
Case 4, 5, 6, 7
MaskedTextBox1.Select(4, 3)
Case 8, 9, 10, 11
MaskedTextBox1.Select(8, 3)
Case 12, 13, 14, 15
MaskedTextBox1.Select(12, 3)
Case Else
Exit Sub
End Select
Else
MyBase.DefWndProc(m)
End If
End Sub