4

DateTimePickerの月の矢印クリックイベントを確認するにはどうすればよいですか。datetimepickerの月を変更しようとすると、翌月の最初の日付が表示されるので、その月のクリックを防ぐ必要があります。

画像をご覧ください:

ここに画像の説明を入力してください

どうもありがとう。

4

1 に答える 1

1

CloseUp And DropDown イベントと Binding データの使用を混在させることが解決策になる場合があります

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, m_dataSale.Month, 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
于 2013-02-22T18:34:11.230 に答える