C#中只接受数字输入的控件
2009-06-04 08:30:14 来源:WEB开发网核心提示: (判断逻辑来自KeyEventArgs在MSDN文档上的范例代码) 得到的文本框外观与一般的TextBox没区别,只是无法由键盘输入数字字符以外的字符,C#中只接受数字输入的控件(4),要避免任意字符串被复制-粘贴进来的话,要另外做些判断
(判断逻辑来自KeyEventArgs在MSDN文档上的范例代码)
得到的文本框外观与一般的TextBox没区别,只是无法由键盘输入数字字符以外的字符。要避免任意字符串被复制-粘贴进来的话,要另外做些判断。这里就不详细写了。
三、使用MaskedTextBox
使用例子:
C#代码
using System;
using System.Windows.Forms;
sealed class TestForm : Form
{
private MaskedTextBox m_maskedTextBox;
private ToolTip m_toolTip;
public TestForm() {
InitializeComponent();
}
private void InitializeComponent() {
this.m_maskedTextBox = new MaskedTextBox();
this.m_maskedTextBox.Mask = "999,999.00";
this.m_maskedTextBox.Dock = DockStyle.Fill;
this.m_maskedTextBox.MaskInputRejected += m_maskedTextBox_InputRejected;
this.m_maskedTextBox.KeyDown += m_maskedTextBox_KeyDown;
this.m_toolTip = new ToolTip();
this.ClientSize = new Size(100, 60);
this.Controls.Add(this.m_maskedTextBox);
this.PerformLayout();
}
private void m_maskedTextBox_InputRejected(object sender,
MaskInputRejectedEventArgs e) {
toolTip.ToolTipTitle = "Invalid Input";
toolTip.Show("Only digits (0-9) are allowed.",
m_maskedTextBox, m_maskedTextBox.Location, 5000);
}
private void m_maskedTextBox_KeyDown(object sender, KeyEventArgs e) {
m_toolTip.Hide(maskedTextBox);
}
[STAThread]
static void Main(string[] args) {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new TestForm());
}
}
更多精彩
赞助商链接