中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#使用RichTextBox實現替換文字及改變字體顏色功能示例

發布時間:2020-08-20 10:53:34 來源:腳本之家 閱讀:827 作者:changuncle 欄目:編程語言

本文實例講述了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#程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鹤壁市| 莱芜市| 万州区| 称多县| 永德县| 从化市| 孝义市| 商南县| 顺昌县| 广灵县| 镇坪县| 南陵县| 绥宁县| 玉溪市| 黔南| 盐山县| 松溪县| 于都县| 吴川市| 崇左市| 礼泉县| 广宁县| 衡山县| 平江县| 松江区| 和林格尔县| 滦南县| 威信县| 会昌县| 大名县| 达州市| 陵川县| 曲松县| 宁武县| 慈利县| 涿州市| 延津县| 金秀| 兴山县| 武乡县| 如东县|