查看: 970|回复: 6
|
textfield 的小技巧
[复制链接]
|
|
step 2
我想问下如何我一按textfield..
它会立即hightlight全部在textfield里的text?
step 3
同时如果我只是typed "8" 在textfield,它也会自动replace全部在textfield的
text ("1200")
请问要如何做到这个效果呢?
|
|
|
|
|
|
|
|
发表于 5-5-2006 05:54 PM
|
显示全部楼层
原帖由 一只优雅的猪 于 5-5-2006 04:01 PM 发表
step 2
我想问下如何我一按textfield..
它会立即hightlight全部在textfield里的text?
step 3
同时如果我只是typed "8" 在textfield,它也会自动replace全 ...
txtInput.selstart= 0
txtInput.sellenght= len(txtInput.text)
至于什么event,你自己决定。
keypress?
keychange?
|
|
|
|
|
|
|
|
楼主 |
发表于 6-5-2006 01:54 PM
|
显示全部楼层
为什么我在textfield的text是 "1200.00"
当我trigger txt_amount_mouseup时,Len(txt_Amount.TextLength) = 4而已?
而且也只有1200被selected... ".00"并没有被select..why?
in vb.net
Private Sub txt_Amount_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles txt_Amount.MouseUp
txt_Amount.SelectionStart = 0
txt_Amount.SelectionLength = Len(txt_Amount.TextLength)
End Sub |
|
|
|
|
|
|
|
发表于 6-5-2006 02:23 PM
|
显示全部楼层
Len(txt_Amount.Text)
txt_Amount.Text 才能拿到 "1200.00" |
|
|
|
|
|
|
|
楼主 |
发表于 6-5-2006 03:08 PM
|
显示全部楼层
如果我在textfield1_keychanged放这段code的话
txt_Amount.SelectionStart = 0
txt_Amount.SelectionLength = Len(txt_Amount.Text)
那么就只能显示一个字。。。 不能再多了
我想做到如果我打8,那么自动会变成8.00
如果我打8.25, 就会自动变成8.25 |
|
|
|
|
|
|
|
发表于 6-5-2006 04:26 PM
|
显示全部楼层
keychanged会在你每打一个字fire
----
通常我会放在lostfocus (.net不知道还有没有)
1. lostfocus
2. 检查"格式" e.g. 8
3. 自动转换格式 e.g. 8.00
|
|
|
|
|
|
|
|
楼主 |
发表于 6-5-2006 11:35 PM
|
显示全部楼层
谢了。。 lost focus解决我的问题了。。。。 |
|
|
|
|
|
|
| |
本周最热论坛帖子
|