VB6.0中,日期、时间控件不允许为空时,采用文本框与日期、时间控件相互替换赋值,或许是一个不错的选择。
实现效果如下图:
代码如下:
文本框txtStopTime1 时间框DTStopTime1 格式3 - dtpCustom HH:mm:ss
Private Sub Form_Load() txtStopTime1.ZOrder DTStopTime1.Top = txtStopTime1.Top DTStopTime1.Left = txtStopTime1.Left end Sub
‘时间控件 ‘键盘输入值 Private Sub DTStopTime1_KeyPress(KeyAscii As Integer) If KeyAscii = 8 Then txtStopTime1.text = "" txtStopTime1.ZOrder End If End Sub ‘失去焦点 Private Sub DTStopTime1_LostFocus() DTStopTime1.Value = format("00:00:00", "HH:mm:ss") txtStopTime1.ZOrder ‘决定谁在上面 End Sub ‘值改变 Private Sub DTStopTime1_Change() txtStopTime1.text = format(DTStopTime1.Value, "HH:mm:ss") End Sub ‘文本框 ‘得到焦点 Private Sub txtStopTime1_GotFocus() If Trim(txtStopTime1.text) = "" Then DTStopTime1.Value = format("00:00:00", "HH:mm:ss") Else DTStopTime1.Value = format(Trim(txtStopTime1.text), "HH:mm:ss") End If DTStopTime1.ZOrder DTStopTime1.SetFocus End Sub
虽然图中的效果是实现了,在实际开发过程中,我们可能会经常使用到,我想这里完全可以做成自定义控件,需要的时候直接拖就好了。
此思路和实现效果是在Q群:VB6.0编程 263653236上的群友一起讨论优化得出的,如若有更好的想法可以留言告知我。
时间: 2024-10-14 07:08:35