在输入框的事件中加入:OnBlur="vbs:AutoGet()"然后在网页上加上客户端脚本:
<Script Language=vbs>
Sub AutoGet()
    If Len(你的输入框.Value)<=2 Then
        你的输入框.Value = Year(Now()) & "-" & Month(Now()) &"-"& 你的输入框.Value
    Else If Len(你的输入框.Value)=4 Or Len(你的输入框.Value)=3 Then
        你的输入框.Value = Year(Now()) & "-" & Left(你的输入框.Value,2) &"-"& Right(你的输入框.Value,2)  
    Else
        你的输入框.Value = Left(你的输入框.Value,2) & "-" & substring(你的输入框.Value,3,2) &"-"& Right(你的输入框.Value,2)               
    End If
End Sub
</Script>

解决方案 »

  1.   

    谢谢xieyj(快乐天使).
    有两个问题补充一下.
    1. WinForm
    2. DataGrid.
      

  2.   

    xieyj(快乐天使)的思路应该是可以的啊
    自己根据客户的输入修改currentcell的值
    还有一点不明白输入2003-03-22要鼠标吗?:)
      

  3.   

    在进行数据录入时用mouse确实不方便,所以现在的大部分财务软件都提供全键盘操作的,就是用enter代替tab和鼠标的部分功能,加快录入速度
    所以要考虑的东西就是在按下enter键的时候把他适当的处理为tab键
      

  4.   

    参考一下这个例子,自己改动一下就可以.就是当输入"22"的时候,你自己如何处理.5.72 How can I auto-adjust keyboard input? For example, make typing 12312002 be taken as a valid date, 12/31/2002.http://www.syncfusion.com/FAQ/WinForms/FAQ_c44c.asp#q974q