You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DateTimePicker未修改时TextBox显示指定文本的VB代码修正求助

问题修正方案

问题原因

你的三个代码选项均无法实现需求,核心问题如下:

  • DateTimePicker.Value默认包含完整的日期+时间(比如当前时刻为14:30时,控件值是今日 14:30:00)
  • Date.Today/Today返回的是当日00:00:00的日期值,直接对比两者永远不相等,导致条件分支始终走Else
  • 选项3使用TimeOfDay完全错误,TimeOfDay仅返回当前时间的时分秒,和日期无关联

修正后的代码方案

提取控件值的日期部分与Date.Today对比,同时用VB中更安全的&拼接字符串:

Dim availability As New List(Of String)
If dtpavailability.Value.Date = Date.Today Then
    availability.Add("Can start to work anytime")
Else
    availability.Add("Can start to work by " & dtpavailability.Value.Date.ToString("yyyy-MM-dd")) ' 可指定日期格式优化显示
End If

TextBox1.Text = String.Join(vbNewLine, availability)

简化版(无需List)

若仅需显示单行文本,无需使用List,直接赋值更简洁:

If dtpavailability.Value.Date = Date.Today Then
    TextBox1.Text = "Can start to work anytime"
Else
    TextBox1.Text = "Can start to work by " & dtpavailability.Value.Date.ToString("yyyy-MM-dd")
End If

内容的提问来源于stack exchange,提问作者Newbie TJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 13:15:24