以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  日期输入框控件要禁止用户清空  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=3723)

--  作者:reachtone
--  发布时间:2009/7/28 16:08:00
--  日期输入框控件要禁止用户清空
日期输入框控件在设置了默认日期以后,就应该禁止用户将其内容清空。我反复试了一下,尽管表面上是把日期内容清空掉了,实际上它的Value值依然存在。
这在设计日期查询窗口时容易使用户产生误会:日期明明清空了,为什么还会出来这个日期的数据?
因为日期值是不可能为空的,建议该控件也要禁止用户把日期清除掉(尽管是表面上的)。
--  作者:狐狸爸爸
--  发布时间:2009/7/28 16:17:00
--  

日期输入框是可以清空的,日前变量不能为空而已.

你可以测试在按钮中测试:

messagebox.Show(e.Form.Controls("DateTimePicker1").Value Is Nothing)

判断是否输入了日期,应该通过日期输入框的Value属性,而不是变量


--  作者:reachtone
--  发布时间:2009/7/28 17:01:00
--  

按楼上的方法,我反复测试,怎么还是不行呢?
请老六帮忙看看以下代码有什么问题没有。这是在DateTimePicker1控件的内容改变中设置的,如果日期为空的话,TextBox1的值就应该为空,否则就显示该日期对应的星期。现在即使将日期清空了,但TextBox1还是显示上一个日期所对应的星期数。
If e.Form.Controls("DateTimePicker1").Value Is Nothing
    e.Form.Controls("TextBox1").Value=""
else
    e.Form.Controls("TextBox1").Value=Format(e.Form.Controls("DateTimePicker1").Value,"dddd")
end if

[此贴子已经被作者于2009-7-28 17:16:23编辑过]

--  作者:reachtone
--  发布时间:2009/7/28 17:20:00
--  
请高手帮忙看看,上面的代码究竟错在哪里呢?

图片点击可在新窗口打开查看此主题相关图片如下:snap1.gif
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2009/7/28 17:23:00
--  

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目146.table


--  作者:reachtone
--  发布时间:2009/7/28 17:31:00
--  
以下是引用狐狸爸爸在2009-7-28 17:23:00的发言:

 

 下载信息  [文件大小:308.0 KB  下载次数:1]
图片点击可在新窗口打开查看点击浏览该文件:管理项目146.table


那现在问题来了:同样的代码在单击事件中有效,为什么在TextChanged就无效呢?我希望的是,只要日期改变,就可马上看到星期的改变。
清空日期以后,Text当然也就改变了,为什么它就不执行呢?


--  作者:狐狸爸爸
--  发布时间:2009/7/28 17:37:00
--  
这是当然的,输入过程不会改变Value的,必须离开控件,Value值才会更改。

不过也不是没有办法,帮助提到的:

TextChanged

控件的Text属性发生变化后执行。
在控件中每输入或删除一个字符,都会触发TextChanged事件。


e参数属性:

Sender:返回触发事件的控件
Form:   返回控件所在的窗口 


示例


假定某个文本框绑定到一个字段,我们在该文本框输入内容的时候,并不会即刻刷新字段的内容,直到你输入结束并离开该文本框,字段的内容才会刷新。
如果你希望在文本框中进行的任何编辑,均能即时显示在字段中,可以将其TextChanged事件代码设为:


e.Sender.WriteValue()




--  作者:reachtone
--  发布时间:2009/7/28 17:50:00
--  

哦,终于明白了。日期输入框比文本框、组合框等少一个Text属性,我把事件直接复制过来修改一下用的。
汗。。。


--  作者:狐狸爸爸
--  发布时间:2009/7/28 17:54:00
--  
其实这些控件也有Text属性的