【问题标题】:How do I set a Calendar Object in VB.NET so that it has no date selected?如何在 VB.NET 中设置日历对象,使其没有选择日期?
【发布时间】:2014-01-08 05:02:55
【问题描述】:

默认情况下,VB.NET 表单中的日历对象将选择“今天日期”。

如何设置它,以便在默认情况下,在用户执行点击操作之前,它不会选择任何日期?

谢谢,
C.

【问题讨论】:

  • 这似乎违背了控件的目的。还针对基础类型 (DateTime) 的基本配置,默认情况下它没有 Nothing/null(必须始终选择日期/时间)。此外,我没有看到尝试这样做的确切意义:查看选择的今天日期(或任何其他日期)应该没问题。您可能会做的是通过(临时)修改所选日期的样式来“隐藏事实”;例如:默认情况下设置一个不突出显示的选定日期样式(例如,与未选中相同的样式)并将其修改为您想要的样式...
  • ...在第一次选择之后。
  • @varocarbas:日期控件中没有日期的正当理由有数百个。例如,在一个人的生平记录中,死亡日期可能不应该默认为今天或任何其他日期。同样,在最初创建货件记录时(直到货件实际到达),接收货件的日期应该为空。
  • @user7378:这是用于 win forms 还是 asp.net?
  • 通过使用完全避免它的解决方法解决了问题。无论如何,谢谢你们。

标签: vb.net calendar


【解决方案1】:

清除日期控件中日期的常用方法是将控件的值设置为 DateTime.MinValue。

一些第三方控件将值存储在一个对象中,并让您将值设置为 DBNull.Value 或 Nothing,以表明未进行任何选择。

【讨论】:

  • 抱歉纠正你。但是您的第一条语句等同于今天的选项(只是选择了一些东西)。关于你的第二个提案;我不确定您是否应该建议依赖外部库,只是为了允许空日期(您可能会按照建议更改选定日期样式;我抱怨但也帮助了:))。
  • @varocarbas:我创建商业 ASP.Net 和 WinForms 应用程序已有 10 年了。 DateTime.MinValue 不等于 DateTime.Today。我使用的每个日历控件都使用 DateTime.MinValue 作为空字符串。坦率地说,不应该使用外部库来解决您遇到的特定问题是非常荒谬的。如果客户想要或需要一个日期控件,当您将其设置为空时显示一个空日期,那么这就是您提供的,您不会告诉他们必须更改每个表单中的日期。
  • 如上所述,我看不出继续讨论的意义。但是我想澄清一下,当没有简单的内置选项时,我对外部库没有任何问题。在这里,我认为它是一个,但好吧......我们的想法显然完全不同。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-12
  • 1970-01-01
相关资源
最近更新 更多