textbox或者maskedtextbox怎么限制输入小数的位数?(C# winform)

我想限制输入是两位小数,整数部分没有限制。怎么设置maskedtextbox中的mask呢,比如设置成#.##,但是这样的话整数部分只能输入一位整数。如果设置成###.#... 我想限制输入是两位小数,整数部分没有限制。怎么设置maskedtextbox中的mask呢,比如设置成#.##,但是这样的话整数部分只能输入一位整数。
如果设置成###.###,这样的话,整数部分会显示很多多余的字符,而且我输入小数点不会自动跳转到小数部分。
我有很多的maskedtextbox,不想用正则表达式了,不太会用,或者举个例子怎么用,实现效果也行。 最终想做到的效果:小数部分一直是固定的,比如12.000,点进去后,整数部分输入后再输入小数点,就跳到小数部分,小数限制只能固定的位数
注:winform的呀!
谢谢咯
展开
 我来答
匿名用户
2013-04-25
展开全部
C#不清楚,用JAVA很容易实现代码如下,文件名:TextFieldClick.javaimport java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.TextField;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.TextEvent;
import java.awt.event.TextListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;public class TextFieldClick extends Applet {
TextField textField = new TextField(30);

public void init() {
textField.setText("hello,王子面!");
//添加鼠标单击相应接口
textField.addMouseListener(new TextFieldMouseClick());
//textField.addTextListener(new T1());
textField.addKeyListener(new T2());
add(textField);
}

class T2 extends KeyAdapter {//implements KeyListener {
boolean ifNewKey = true;
@Override
public void keyTyped(KeyEvent e) {
String str = textField.getText();
int length = str.length();
if(length > textField.getSelectionStart() && length > str.indexOf("."))
ifNewKey = false;
else
ifNewKey = true;
if(str.contains(".")) {
int index = str.indexOf('.');
if(length - index > 2 && ifNewKey) {
textField.setText(str.substring(0,index+3));
ifNewKey = false;
}
}
}
}

/*
* 继承MouseAdapter类
* 重载鼠标单击函数
*/
class TextFieldMouseClick extends MouseAdapter {
int selectPosition = 0;
@Override
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 1) {
// 单击,全选,并记录单击时的光标位置
selectPosition = textField.getSelectionStart();
textField.selectAll();
} else {
// 双击,光标重置
textField.setSelectionStart(selectPosition);
textField.setSelectionEnd(selectPosition);
}
}
} public static void main(String[] args) {
TextFieldClick applet = new TextFieldClick();
Frame aFrame = new Frame("TextFieldClick");
aFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
aFrame.add(applet, BorderLayout.CENTER);
aFrame.setSize(300, 200);
applet.init();
applet.start();
aFrame.setVisible(true);
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式