ダブルクリックで日付を決定する


MonthCalendarコントロールにはDoubleClickイベントが存在しない為、
MouseDownイベントで強引にDoubleClickを判定させなければいけない。

例)フォームにMonthCalendarコントロールとTextBoxが貼ってあり日付をダブルクリックするとTextBoxに日付が格納される。

 Public Class Form1
   Private LastClickTime As Long
   Private DoubleClickFlg As Boolean
   Private LastClickDate As String
 
   Private Sub MonthCalendar1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MonthCalendar1.MouseDown
       If e.Button = MouseButtons.Left Then
           If Not DoubleClickFlg AndAlso _
               Now.Ticks - LastClickTime <= _
               SystemInformation.DoubleClickTime * 5000 AndAlso _
               (LastClickDate = Me.MonthCalendar1.SelectionStart.ToString("yyMMdd")) _
           Then
               OnDoubleClick(EventArgs.Empty)
               DoubleClickFlg = True
               Me.TextBox1.Text = Me.MonthCalendar1.SelectionStart.ToString("yyMMdd")
           Else
               DoubleClickFlg = False
           End If
           LastClickDate = Me.MonthCalendar1.SelectionStart.ToString("yyMMdd")
           LastClickTime = Now.Ticks
       End If
   End Sub




































.
最終更新:2008年09月18日 19:28