RichTextBox 是否有设定只允许输入16进制数字的功能,
要如何让 RichTextBox 只能够输入16进制数字呢?
要如何让 RichTextBox 只能够输入16进制数字呢?
解决方案 »
- 做个简单的地图,给个思路来着
- C# 中自定义控件pictureBox 自定义方法
- 关于安装程序的制作问题
- 高手请进:MSDE同应用程序的安装部署(在线等待)
- 请问为什么c#程序里直接执行后没有结果,但设置断点再一步步执行以后就有结果了?
- 请教:aaa{bbb {is} ccc {0:xxx}.ccc}我想匹配"{"后面不是数字的括号对,能用正则表达式吗?
- 把从dataGridView中读取的Excel表格插入到数据库中运行无错误插入成功,但是并没有真的插入数据库中
- 在DATAGRID里添加Combox控件
- 请教各路高手一个关于XML的问题?(快没分了,见谅)
- 各位高手,如何取得本机网卡的MAC地址呀?谢了
- 求助,如何让Winform运行起来以来调整button的大小
- 请教两个关于.NET的文档注释的问题
不过你可以通过改变RichTextBox 值的时候(TextChanged时间),来判断输入的值是不是16进制数字```如果是,就把值转成STRING给RichTextBox ,如果不是,就清除输入的值.
我的基本思路是这样。不知道其他师兄弟们有没有什么好的意见```
{
switch(char.ToLower(e.KeyChar))
{
}
} 判断输入
private void initList()
{
char[] cArray = new char[]{'0','1',..'F'}; //all chars
list.AddRange(cArray);
}
private void richTextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!list.Contains(e.KeyChar))
{
MessageBox.Show(e.KeyChar +" is a illegal char");
e.Cancel();
}
}
原来C#有这么方便的东西
问题已解决
以下是程序代码 有需要的可参考看看using System.Text.RegularExpressions;private void richTextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
string RegularExpressions = "^[A-Fa-f0-9]+$";
Match m = Regex.Match(e.KeyChar.ToString(), RegularExpressions); if (!m.Success)
{
e.Handled = true;
}
}