默认显示2000-01-01,用户输入20050123时相应数字自动输入到相应位置。有点像输入软件注册号。'-'始终在文本框内存在,删不掉。
解决方案 »
- 用C#实现一个字模点阵提取程序
- MS chart 坐标轴X能自动实现滑动条吗?
- C# 方法重载问题?
- 导出Excel问题(急) 倾家荡产求解决了
- 删除ArrayList中重复元素
- 错误 1 “Employee.Login.Main()”是“方法”,但此处被当做“类型”来使用 D:\程序\WindowsForms\WindowsForms\
- 请问各位高手,谁知道C# winform 中的treeview控件如何让它不保存点击状态!
- 一个搜索表的正则表达式的写法?
- C# 中,怎样把 string 转换成 int ?
- 获取FTP上文件的HASH值问题
- 请教C#排序的问题(急!在线等)
- 如何将string转换为char[]
1、文本框内只能输入数字。
2、文本框内的初始值是0000-00-00。
3、当用户输入数字,比如20051101时,输入的数字自动占据相应位置,文本框显示:2005-11-01。
4、用户退格或按删除键时不能删除数字之间的'-'字符,被删除的相应位置自动变成0。
//textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)事件处理
int startPos = textBox1.SelectionStart;
if(Char.IsDigit(e.KeyChar) )
{
if(startPos < 10)
{
if(startPos == 4 || startPos == 7)
startPos++;
str[startPos] = e.KeyChar;
textBox1.Text = str.ToString();
startPos++;
}
}
if(e.KeyChar == 8)
{
if(startPos == 5 || startPos == 8)
{
str[startPos-2] = '0';
startPos -=2;
}
else
{
str[startPos-1] = '0';
startPos--;
}
}
textBox1.Text = str.ToString();
textBox1.SelectionStart = startPos;
e.Handled = true;