textbox或者maskedtextbox怎么限制输入小数的位数?(C# winform)
我想限制输入是两位小数,整数部分没有限制。怎么设置maskedtextbox中的mask呢,比如设置成#.##,但是这样的话整数部分只能输入一位整数。如果设置成###.#...
我想限制输入是两位小数,整数部分没有限制。怎么设置maskedtextbox中的mask呢,比如设置成#.##,但是这样的话整数部分只能输入一位整数。
如果设置成###.###,这样的话,整数部分会显示很多多余的字符,而且我输入小数点不会自动跳转到小数部分。
我有很多的maskedtextbox,不想用正则表达式了,不太会用,或者举个例子怎么用,实现效果也行。 最终想做到的效果:小数部分一直是固定的,比如12.000,点进去后,整数部分输入后再输入小数点,就跳到小数部分,小数限制只能固定的位数
注:winform的呀!
谢谢咯 展开
如果设置成###.###,这样的话,整数部分会显示很多多余的字符,而且我输入小数点不会自动跳转到小数部分。
我有很多的maskedtextbox,不想用正则表达式了,不太会用,或者举个例子怎么用,实现效果也行。 最终想做到的效果:小数部分一直是固定的,比如12.000,点进去后,整数部分输入后再输入小数点,就跳到小数部分,小数限制只能固定的位数
注:winform的呀!
谢谢咯 展开
1个回答
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);
}
}
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);
}
}
大雅新科技有限公司
2024-11-19 广告
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,...
点击进入详情页
本回答由大雅新科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询