您好,登錄后才能下訂單哦!
本文實例講述了C#使用RichTextBox實現替換文字及改變字體顏色功能。分享給大家供大家參考,具體如下:
替換文字
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("http:/// <summary>",Color.Gray); ChangeKeyColor("http:///", Color.Gray); ChangeKeyColor("http:/// </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); } }
更多關于C#相關內容感興趣的讀者可查看本站專題:《C#常見控件用法教程》、《C#窗體操作技巧匯總》、《C#數據結構與算法教程》、《C#面向對象程序設計入門教程》及《C#程序設計之線程使用技巧總結》
希望本文所述對大家C#程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。