在VB.net中获取DateTimePicker的月份单击

如何检查DateTimePicker的月份箭头单击事件.当我试图更改datetimepicker的月份时,它会给出下个月的第一个日期,所以我要阻止那个月点击.

请看图片:

非常感谢.

解决方法

混合使用CloseUp和DropDown事件以及绑定数据可能是解决方案

Imports System.Windows.Forms

Namespace WindowsFormsApplication1
    Public Partial Class Form1
        Inherits Form
        Private isDropedDown As Boolean
        Private m_dataSale As DateTime = DateTime.Now
        Public Property DataSale() As DateTime
            Get
                Return m_dataSale
            End Get
            Set
                If isDropedDown Then
                    If m_dataSale.[Date].AddMonths(1).[Date] = value.[Date] OrElse m_dataSale.[Date].AddMonths(-1).[Date] = value.[Date] OrElse New DateTime(m_dataSale.Year,m_dataSale.Month,1).AddMonths(1).[Date] = value.[Date] OrElse New DateTime(m_dataSale.Year,1).AddMonths(-1).[Date] = value.[Date] Then
                        MessageBox.Show("Month is changing")
                    End If
                End If

                m_dataSale = value
            End Set
        End Property

        Public Sub New()
            InitializeComponent()
            Dim binding = dateTimePicker1.DataBindings.Add("Value",Me,"DataSale")
            binding.DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged
        End Sub
        Private Sub dateTimePicker1_CloseUp(sender As Object,e As EventArgs)
            isDropedDown = False
        End Sub

        Private Sub dateTimePicker1_DropDown(sender As Object,e As EventArgs)
            isDropedDown = True
        End Sub
    End Class
End Namespace

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...