如何实现文本框 只能输入字母和数字 ?

tianzhenbo 2008-07-08 09:18:50
要求输入小写字母 立即转换成大写 限定输入长度为4个
...全文
244 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
liyang19860104 2008-07-08
  • 打赏
  • 举报
回复
屏蔽半角输入
Strings.StrConv(str, VbStrConv.Wide, 0))
RichardSzwz 2008-07-08
  • 打赏
  • 举报
回复
属性里面,简单搞定,

属性->行为->MaxLength的值设为4,//长度为4

属性->行为->ImeMode的值设为Disable,//只可输入字每和数字

属性->行为->CharacterCasing的值设为Upper,//输入字每后转换为大写

OK!

conan304 2008-07-08
  • 打赏
  • 举报
回复
11楼我写的经过测试了,只能输入0-9 A-Z a-z 还有退格键。如果输入a-z自动转换为A-Z
gh_li 2008-07-08
  • 打赏
  • 举报
回复

'判断是否为数字及字母
Private Sub TextBox1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If (e.KeyChar < Chr(48) Or e.KeyChar > Chr(57)) And _
e.KeyChar <> Chr(8) And e.KeyChar <> Chr(13) And e.KeyChar <> Chr(9) And _
(e.KeyChar > Chr(90) Or e.KeyChar < Chr(65)) And _
(e.KeyChar > Chr(122) Or e.KeyChar < Chr(97)) Then
e.KeyChar = Chr(0) '不是为大、小写字母及数字则为空
End If
End Sub

'设置长度及输入转换为大写
Private Sub GroupBox1_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GroupBox1.Enter
TextBox1.MaxLength = 4
TextBox1.CharacterCasing = CharacterCasing.Upper
End Sub
tianzhenbo 2008-07-08
  • 打赏
  • 举报
回复
谢谢 大家了 方法很多啊
呵呵
conan304 2008-07-08
  • 打赏
  • 举报
回复
上面的这个是以前写的,加了转换为大写
其实判断长度可以在maxlength里面设置就好了。这里一并写了。
大小写的ascii相差32.
conan304 2008-07-08
  • 打赏
  • 举报
回复
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
int textboxLenth = 4; //数据长度
bool isIntLetter = (e.KeyChar > 47 && e.KeyChar < 58) || (e.KeyChar > 64 && e.KeyChar < 91) || (e.KeyChar > 96 && e.KeyChar < 123);
//48-57 ASCII--> 0-9 65-90-->A-Z 97-122-->a-z ASCII 8 退格键
if (!isIntLetter && e.KeyChar != 8)
{
e.Handled = true;
}
else if (textBox1.Text.Trim().Length >= textboxLenth && e.KeyChar != 8)
{
e.Handled = true;
}
else if (e.KeyChar > 96 && e.KeyChar < 123)
{
e.KeyChar =(char)(e.KeyChar- 32);
}
}
tianzhenbo 2008-07-08
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wangruibaobei 的回复:]
用正则表达式
^[0-9a-zA-Z]{0,4}$
[/Quote]
怎么写?
zzyhuian06142 2008-07-08
  • 打赏
  • 举报
回复
只能输入字母和数字 ?
在TextBox.KeyPress事件里面
if((e.keychar >=79 && e.keyChar<=79) || (e.keyChar >=65 && e.keyChar<=90) || (e.KeyChar>=97 && e.keyChar<=122))
{
e.handle=false;
}
else
{
e.handle =true;
}
当然了,也可以用正则,但是我还不会写,呵呵
wangruibaobei 2008-07-08
  • 打赏
  • 举报
回复
用正则表达式
^[0-9a-zA-Z]{0,4}$
chengqscjh 2008-07-08
  • 打赏
  • 举报
回复
TextBox中设置CharacterCasing=upper,MaxLength=4
tianzhenbo 2008-07-08
  • 打赏
  • 举报
回复
还想问个问题 如何屏蔽半角输入和,'字符的输入
xiaoqiuwyh 2008-07-08
  • 打赏
  • 举报
回复
先把MaxLength属性值设为4
peterb 2008-07-08
  • 打赏
  • 举报
回复
要求输入小写字母 立即转换成大写 限定输入长度为4个
设置属性CharCase=Upper(好像是这个属性,不确定 但有这个功能的属性) MaxLength=4
tianzhenbo 2008-07-08
  • 打赏
  • 举报
回复
谢谢
那怎么限定只输入数字和字母呢
zzyhuian06142 2008-07-08
  • 打赏
  • 举报
回复
限定输入长度为4个
MaxLength=4
zzyhuian06142 2008-07-08
  • 打赏
  • 举报
回复
立即转换成大写
TextBox中设置CharacterCasing=upper

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧