哪位大侠能够帮到小弟?C#中金额文本框中金额加逗号分隔并且处理???顶者有分

 所属目录:Java   |   类型:技术问答   |   时间:2007-05-21
 问题:

由于客户要求,金额的输入文本框中需要自动加逗号分隔,现在的思路是在keypress事件中,首先屏蔽非金额格式的字符,只允许数字与一个.可以输入,且首位不为0,同时允许“backspace”、“delete”、“enter”、“left”、“right”五键,每发生一次keypress事件,即读取输入的值,在整数部分进行分隔后重新放入文本框。这个小弟已经实现。  
   
  现在的问题是如果用户按了"backspace"、"delete"、"left"、"right"等键,该事件如何处理?同时想达到如下的目的:  
  假如输入后的金额是:"1,234,567,890.01"当前输入的光标在数字8后面,我按了"left"键后,希望光标直接跑到数字7后面,跳过",",同理,"right"键也是一样。  
  还有,如何处理直接通过鼠标右键中的粘贴贴入的金额?  
   
  哪位大侠做过c#中的金额处理的,请尽快帮帮我啊,分不够可再加!!

· 网友精彩回答:

发表者:mylf

还没有做过要控制得这么仔细的东东。  
   
  先顶。。。

发表者:menghun1355

为什么要这样做呀?你不可以他输入的时候就给他普通模式,当焦点离开时再用逗号分隔吗.  
  就是用户获得焦点时去掉逗号,失去焦点时给他加上逗号!  
  我看到过的这类业务都是这么做的.  
   
  行吗?

发表者:shliger

我鼎

发表者:sfanpu

这样有些太复杂了,还是像   menghun1355(梦魂)   说的比较好一些。

发表者:cliff1002

~~~~~~~~~~~~这个有点太。。。仔细了吧?  
   
  不过,也是能实现的。  
   
  “问题是如果用户按了"backspace"、"delete"、"left"、"right"等键,该事件如何处理?”  
   
  在keypress事件中根据其keycode判断按了"backspace"、"delete"、"left"、"right"等键中的哪一个,然后进行相应处理。  
   
  可以用case语句来写  
   
  比如:  
   
  select   case   e.keycode    
          case     keys.backspace      
          ....   //相应处理  
          case     keys.delete  
          ....  
  end   select  
 

发表者:fq_ln

这个除非做个专用的控件,否则处理起来比较麻烦

发表者:shliger

要是有现成的控件就好了。

发表者:cf1944

....鼎,慢慢看

发表者:zorywa

太多,不好

发表者:alang_79

.
处理 SSI 文件时出错
© 2006-2008 All Rights Reserved