RichTextBox替换文字并改变字体颜色
来源:互联网 发布:怎么推广淘宝产品 编辑:程序博客网 时间:2024/06/04 17:45
替换文字
private void GenerateEntity(){ try { string result = ChangeWords("specific content..."); txtContent.Text = result; ChangeColor(); } catch (Exception ex) { MessageBox.Show("类生成失败!错误信息:" + ex.Message); }}private string ChangeWords(string content){ //先替换"nvarchar"、"varchar"、"nchar",再替换"char" //不然"nvarchar"、"varchar"、"nchar"就会被替换为 //nvarstring"、"varstring"、"nstring"不能进行原有规则替换 string result = Regex.Replace(content, "nvarchar", "string"); //进行下一步替换的时一定要以上一步替换的返回结果为数据源而不是content //因为content值没有改变 result = Regex.Replace(result, "varchar", "string"); result = Regex.Replace(result, "nchar", "string"); result = Regex.Replace(result, "char", "string"); result = Regex.Replace(result, "tinyint", "int"); result = Regex.Replace(result, "smallint", "int"); result = Regex.Replace(result, "bigint", "int"); result = Regex.Replace(result, "datetime", "DateTime"); return result;}
改变字体颜色
要改变字体颜色一定要使用RichTextBox,普通的文本框不能实现为某些特殊文字添加颜色的功能。
private void ChangeColor(){ txtContent.SelectionStart = 0; txtContent.SelectionLength = txtContent.Text.Length; txtContent.SelectionColor = Color.Black; //列注释不为空时,改变列注释颜色 if (listDescription.Count > 0) { ChangeKeyColor(listDescription, Color.Green); } ChangeKeyColor("namespace", Color.Blue); ChangeKeyColor("public", Color.Blue); ChangeKeyColor("class", Color.Blue); ChangeKeyColor("/// <summary>",Color.Gray); ChangeKeyColor("///", Color.Gray); ChangeKeyColor("/// </summary>", Color.Gray); ChangeKeyColor("int", Color.Blue); ChangeKeyColor("double", Color.Blue); ChangeKeyColor("float", Color.Blue); ChangeKeyColor("char", Color.Blue); ChangeKeyColor("string", Color.Blue); ChangeKeyColor("bool", Color.Blue); ChangeKeyColor("decimal", Color.Blue); ChangeKeyColor("enum", Color.Blue); ChangeKeyColor("const", Color.Blue); ChangeKeyColor("struct", Color.Blue); ChangeKeyColor("DateTime", Color.CadetBlue); ChangeKeyColor("get",Color.Blue); ChangeKeyColor("set", Color.Blue);}public void ChangeKeyColor(string key, Color color){ Regex regex = new Regex(key); //找出内容中所有的要替换的关键字 MatchCollection collection = regex.Matches(txtContent.Text); //对所有的要替换颜色的关键字逐个替换颜色 foreach (Match match in collection) { //开始位置、长度、颜色缺一不可 txtContent.SelectionStart = match.Index; txtContent.SelectionLength = key.Length; txtContent.SelectionColor = color; }}public void ChangeKeyColor(List<string> list, Color color){ foreach (string str in list) { ChangeKeyColor(str, color); }}
1 0
- RichTextBox替换文字并改变字体颜色
- QT 中改变文字颜色 字体 形状
- UILabel 分段改变文字颜色和字体
- richtextbox中如何实现下面这段文字的字体颜色设置?
- RichTextBox 中文字字体的问题
- C# richTextbox的 字体格式颜色等等
- C# richTextbox的 字体格式颜色
- C# richTextbox的 字体格式颜色等等
- 关于richtextbox中的字体颜色问题
- C# RichTextbox的字体格式和颜色
- 动态添加GridView,并按照返回内容改变字体颜色
- TextView后加字体并改变颜色点击跳转
- Android:改变文字字体
- Grid改变字体颜色
- listview改变字体颜色
- 桌面图标字体颜色改变
- js 改变字体颜色
- ListView改变字体颜色
- Android Dex分包之旅
- Android弹出窗口的实现(PopupWindow)
- JMC: Java Mission Control
- MAC下阅读Android源代码
- nginx配置详解
- RichTextBox替换文字并改变字体颜色
- Android中的进程简介(可见进程,前台进程,后台进程等)
- 常用的Http Response Code所代表的意思
- Unity - 延时操作方案
- Android插件化之Activity生命周期处理
- memcached安装失败
- 抽象类和接口的区别总结
- iOS容易造成循环引用的三种场景,就在你我身边!
- Spring 数据库连接配置