.Net 中 PropertyGrid 中的日期时间

发布于 2024-08-10 18:58:37 字数 263 浏览 4 评论 0原文

我目前正在 c#.Net 中的 PropertyGrid 中处理一些 DateTime 属性。我使用默认的下拉日期时间选择器。

我的问题:有什么办法可以显示完整的日期和时间吗?默认情况下,如果未设置时间,则会显示日期,但我也想要零值。即:我希望显示“09.11.2009 00:00”而不是“09.11.2009”。

我是否必须使用一些自定义类型转换器或编辑器来实现此目的? 我在这个属性网格中感到非常迷失,这让我很难过......

任何帮助将不胜感激!谢谢 :)

I'm currently working on some DateTime properties in a PropertyGrid in c#.Net. Im using the default drop-down datetime picker.

My question: Is there any way to show the full date with the time? By default the date is shown if no time is set, but I want zero-values aswell. I.e: I want "09.11.2009 00:00" to be shown instead of "09.11.2009".

Do I have to use some custom TypeConverter or Editor for this?
I feel so lost in this propertygrid and it makes me sad...

Any help would be appreciated! Thanks :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ζ澈沫 2024-08-17 18:58:37

是的,您需要自己的 TypeConverter。从 DateTimeConverter 派生并重写 ConvertTo 方法。如果你在 Reflector 中查看这个方法,你会在里面看到这段代码:

if (time.TimeOfDay.TotalSeconds == 0.0)
    return time.ToString("yyyy-MM-dd", culture);

例如,只需删除它即可。

尼古拉斯

Yes, you need your own TypeConverter. Derive it from DateTimeConverter and override the ConvertTo method. If you look this method in Reflector you will see this piece of code inside:

if (time.TimeOfDay.TotalSeconds == 0.0)
    return time.ToString("yyyy-MM-dd", culture);

Just remove that for example.

Nicolas

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文