【发布时间】:2018-08-30 10:28:38
【问题描述】:
我想在 VB 中从DateTimePicker 中获取选定的值(如果我只选择日值,那么我想只获取选定的日值。)
在这张图片中,我从DateTimePicker 中选择了(蓝色标记的)年份值。所以我只需要今年的值。
在TextBox 的情况下,我可以使用
TextEndTime.SelectedText
是否有任何语法或方法可以从 DateTimePicker 获取选定值?
【问题讨论】:
-
所以这是一个 TextBox 对吧? DateTime 的格式是 yyyy/mm/dd?您想知道值的值和值的类型(年、月、日)吗?我想我有一个想法。如果我是正确的,那么也许我有一个解决方案。
-
不,这是 DateTimePicker 。如果这是文本框,我想我可以使用上面的文本框选择方法进行选择。为了更清楚地说明此应用程序在平板电脑中使用,用户将选择年月或日并使用手动键盘进行更改。
-
据我所知,没有托管 API。如果您从
DateTimePicker派生自己的类,您可能能够访问一些可能会有所帮助的受保护成员,但这只是一个猜测。我怀疑您需要使用 Windows API。我不确定,但我认为DateTimePicker中有一个显示实际日期的编辑控件,您可以从中获取选定的文本,就像TextBox一样。不确定具体细节,但这为您提供了研究途径。 -
与 NumericUpDown 不同,DTP 的大部分内部都是内部的,因此您不能轻松地仅隔离 Text 控件以获取 SelectedText。也许可以使用 PInvoke 来获取文本,但如果我们知道所有这些的目的是什么,那么完全做其他事情可能会更容易。 DTP 的要点是强制选择有效日期。仅仅一年不是一个日期,所以也许应该使用其他东西
-
我不知道这一切背后的业务需求。但看起来最简单的解决方案是捕获控件的图像并进行一些图像识别。我建议搜索解决方法(使用另一个控件或找到另一种方式来询问用户他的选择)
标签: vb.net winforms datetimepicker