1. 程式人生 > >RichTextBox替換文字並改變字型顏色

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("/// <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);
    }
}

相關推薦

RichTextBox替換文字改變字型顏色

替換文字 private void GenerateEntity() { try { string result = ChangeWords("specific c

richedit 查詢 固定格式內的 文字改變顏色 或 加 超級連結

procedure SetRichEditStyle(vrich: TRichEdit); var startpos,FoundAt: Integer; cf2: CHARFORMAT2; be

android textview等文字內容中字型顏色改變字型背景色的改變

上面這個連結是之前瞭解的我當時已知的改變textView顏色的方法 今天好像有發現了一中,特拿裡分享 TextView textView = (TextView) findViewById

struts2 vallidate驗證表單提交修改樣式——刪除li標籤原點、取消換行、改變字型顏色

老師佈置實現的一個小效果,不容小覷! 預定成功顯示頁面  預定報錯顯示頁面  從圖片可以看出需要實現報錯提示換行以及字型顏色更改的需求。 網上有很多方法,這裡介紹兩種親測可用的吧: 修改struts2-core-x.x.x.jar

關於android自定義字型顏色和點選改變字型顏色

先看效果圖 上面的為點選按下的效果圖 上面的為預設的(鬆開按鈕)的效果圖 首先我們先在values資料夾下新建一個color.xml檔案 這檔案就是配置我們要使用的顏色 程式碼如下 <?xml version="1.0" encoding

ExtJS GridPanel根據條件改變字型顏色

1、在GridPanel中加入GridView <View> <ext:GridView ID="GridView1" runat="server"> <GetRowClass Fn="setRowBg"

使用Python寫入docx檔案控制字型顏色

背景知識:docx檔案的結構分為三層,1、Docment物件表示整個文件;2、Docment包含

laravel ajax無重新整理替換圖片 改變資料表狀態值

@section('js') <script type="text/javascript"> function change(ele){ var img = $(ele).children();//得到子節點 var my

ECharts座標軸是否顯示和修改顯示顏色改變字型顏色

var  myChart = echarts.init(document.getElementById('box')); option = {             color: ['#3398DB'],              title: {           

Android TextView 動態改變字型顏色、大小

一、概述 1、SpannableString、SpannableStringBuilder與String的關係 首先SpannableString、SpannableStringBuilder基本上與String差不多,也是用來儲存字串,但它們倆的特殊就在於有一個S

通過選擇器改變字型顏色

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item and

C# winform中,簡單實現Listview.Subitem.BackColor.ForeColor改變字型顏色,Listview.Subitem.BackColor 改變背景

做專案的時候,客戶的查詢結果中要在listview中亮顯查詢關鍵字.在網上找了半天,沒有合適的程式碼.於是就自己琢磨了一下.貼出程式碼,希望對大家有所幫助. 注意事項:         一定要把listview的OwnerDraw屬性設定為True(預設是False)。   

actionbar 返回箭頭的替換和lable的字型顏色

注意:   需要在 values-v14  中定義actiongbar的主題 <resources> <!-- Base application theme for API 14+. This theme completely

Android的RadioButton隨著選中狀態的改變字型顏色改變

注意是字型顏色,而不是背景顏色 要注意的有: 1.字型顏色這裡是color,而不是textColor <?xml version="1.0" encoding="utf-8"?> &l

Android點選View改變字型顏色和邊框背景

  最近要做一個仿網易嚴選的底部彈出式選單,在彈出的選單中可以選擇具體的要買的商品,比如規格和購買數量等等;做到這裡時筆者想著給規格按鈕選項設定點選後改變字型顏色和邊框背景,用來顯示已選定的商品規格;      1、首先在values檔案下新建一個style

android 動態設定TextView 按下改變字型顏色不生效

由於公司需求,要設定TextView 按下改變字型顏色,剛開始設定怎麼都不生效,mSelectButton.setTextColor( mContext.getResources().getColor( R.color.text_color_pressed) );然後翻了一下

設定文字中不同字型顏色

- (void)viewDidLoad { NSRange range = [orderPriceLabel.text rangeOfString:@"付款金額:"]; [self setTex

listview改變字型顏色

目標:選中item,其字型設定為#3197FF,未選中的,其字型為#FFFFFF。其效果圖如下: 與listvew設定選中行item背景圖片一樣,使用selector,不過這裡的顏色設定,應該是在listview中的textview中設定。 ? 1 2

[UnityUI]改變字型顏色

參考連結:http://www.unitymanual.com/thread-38099-1-1.html 方法:<color=#XXXXX>你想變色的字</color> 其中#XXXXX可以參考這裡:http://www.114la.com/ot

選單選項OptionsMenu實現改變字型顏色改變字型大小的功能

MainActivity的程式碼 package com.example.csdn1optionmenu; import android.app.Activity; import android.graphics.Color; import android.os.Bund