.NET Windows窗体 - DateTimePicker上的Click事件
问题描述:
我的Windows窗体应用程序中有一个DateTimePicker
。我给它一个自定义格式,以便在表单加载时,DateTimePicker
显示一个空值,并为选取器的ValueChanged
事件创建一个处理程序,以便在用户单击图标以显示日历时更改其格式。.NET Windows窗体 - DateTimePicker上的Click事件
但是,我想设置我的DateTimePicker
,以便在用户单击空白部分(将包含指定格式的日期的部分)时更改其格式。这是我的事件代码:
Private Sub dtpDateOfBirth_Click(sender As Object, e As EventArgs) Handles
dtpDateOfBirth.Click
Console.WriteLine("dtpDateOfBirth Click")
dtpDateOfBirth.CustomFormat = "dd/MM/yyyy"
End Sub
但它似乎并没有做任何事情,甚至当我点击显示日历的图标时也没有。
如何通过鼠标点击更改我的DateTimePicker
的格式?
答
你可以使用鼠标按下事件:
Private Sub dtpDateOfBirth_Click(sender As Object, e As EventArgs) Handles
dtpDateOfBirth.MouseDown
Console.WriteLine("dtpDateOfBirth Click")
dtpDateOfBirth.CustomFormat = "dd/MM/yyyy"
End Sub
如果你在代码编辑器看一下下拉列表中选择DTP犯规暴露click事件。用户实际上并不希望格式在点击时改变 – Plutonix
@Plutonix实际上,它确实暴露了点击事件;我点击它,它为我制作了Sub。这就是我问这个问题的原因。并且测试它的用户实际上请求了这个;尽管如此,这对他来说并不完全是一种格式变化。自定义格式是空格,因此日期首先显示为空白,并且他希望能够在单击空白部分后键入,而不必强制使用日历。 –
[其实没有](http://i.imgur.com/yt67mxy.jpg)从[MSDN](https://msdn.microsoft.com/en-us/library/system.windows.forms.datetimepicker (v = vs.110).aspx)点击事件是......'不打算直接从你的代码中使用。' – Plutonix