国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C#修改富文本框(RichTextBox)指定內(nèi)容顏色

這篇具有很好參考價(jià)值的文章主要介紹了C#修改富文本框(RichTextBox)指定內(nèi)容顏色。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1.前言

最近給客戶做了一個(gè)協(xié)議解包與組包的工具,以便于他們給終端客戶或者集成商使用,讓客戶能夠快速集成產(chǎn)品協(xié)議,降低客戶集成工作量,產(chǎn)品協(xié)議是基于JT/T808,但是有增加了自己的一些特殊修改。

客戶使用的是C#開發(fā)的網(wǎng)關(guān),所以我就基于C#做了一個(gè)開發(fā)包以及測(cè)試工具,在做測(cè)試工具的時(shí)候有個(gè)富文本,對(duì)其指定內(nèi)容字體顏色進(jìn)行修改差點(diǎn)讓我陰溝里翻船,第一次是成功的,但是執(zhí)行第二次的時(shí)候全部文本都變色了。

實(shí)現(xiàn)的效果如下:上面是輸入的待解碼的16進(jìn)制字符串,左側(cè)是拆包說(shuō)明,右側(cè)是解析成JSON字符串。

C#修改富文本框(RichTextBox)指定內(nèi)容顏色

?2.RichTextBox指定內(nèi)容變色

實(shí)現(xiàn)思路是這樣的,遍歷RichTextBox內(nèi)容,對(duì)每行通過(guò)“ --”進(jìn)行拆分,因?yàn)槲也鸢故镜母晃谋镜膬?nèi)容格式是:

消息體各個(gè)屬性? ? ?--此屬性的解釋

所以通過(guò)“ --”拆分成兩段,我需要對(duì)第一段內(nèi)容進(jìn)行顏色變化。

private void button1_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(richTextBox1.Text))
            {
                //此處是個(gè)坑,需要清理上次的內(nèi)容包含格式,否則再次執(zhí)行就會(huì)出現(xiàn)所有內(nèi)容都被變色處理了
                richTextBox3.Clear();
                //將數(shù)據(jù)包進(jìn)行拆分說(shuō)明,以此格式呈現(xiàn):xxxxxx  --xxxxxx
                richTextBox3.Text = SplitData(richTextBox1.Text).ToString();
                //這里是將包解析成JSON字符串并輸出JSON格式,因?yàn)椴皇潜疚牡闹攸c(diǎn)所以就不過(guò)多說(shuō)明
                string strResult = DataParser.receiveData(richTextBox1.Text);
                if (string.IsNullOrEmpty(strResult))
                {
                    strResult = "Parsing exception, please check whether the data is normal, or contact the developer!";
                }
                richTextBox2.Text =CommonUtil.ConvertJsonString(strResult);
            }
            else
            {
                MessageBox.Show("Please enter the data to be parsed!", "Tips");
            }
        }

讓后對(duì)呈現(xiàn)拆包內(nèi)容的富文本增加一個(gè)TextChanged方法,可以看到對(duì)此方法的說(shuō)明:“在控件上更改Text屬性的值時(shí)引發(fā)的事件”。

C#修改富文本框(RichTextBox)指定內(nèi)容顏色

然后對(duì)指定內(nèi)容進(jìn)行變色處理。

private void richTextBox3_TextChanged(object sender, EventArgs e)
        {
            for (int i = 0; i < richTextBox3.Lines.Length; i++)
            {
                string[] lineArr = richTextBox3.Lines[i].Split(new string[] { " --" }, StringSplitOptions.None);
                if (lineArr.Count() > 1)
                {
                    //獲取每一行第一個(gè)字符的索引位置
                    int lineFirstCharIndex = richTextBox3.GetFirstCharIndexFromLine(i);
                    //選中需要變色的內(nèi)容的起點(diǎn)索引位置以及需要變色的內(nèi)容長(zhǎng)度(就是需要變色的文本的自身長(zhǎng)度)
                    richTextBox3.Select(lineFirstCharIndex, lineArr[0].Length);
                    //對(duì)其進(jìn)行變色,當(dāng)然也可以加上其他屬性,比如字體樣式改變等等,因?yàn)槲疫@里只需要變色即可
                    richTextBox3.SelectionColor = Color.Green;
                }

            }
        }

?如果需要同時(shí)對(duì)字體的樣式進(jìn)行修改的話,可以在變色后面增加一行對(duì)字體樣式的修改,比如我此時(shí)設(shè)置對(duì)字體加粗:

private void richTextBox3_TextChanged(object sender, EventArgs e)
        {
            for (int i = 0; i < richTextBox3.Lines.Length; i++)
            {
                string[] lineArr = richTextBox3.Lines[i].Split(new string[] { " --" }, StringSplitOptions.None);
                if (lineArr.Count() > 1)
                {
                    //獲取每一行第一個(gè)字符的索引位置
                    int lineFirstCharIndex = richTextBox3.GetFirstCharIndexFromLine(i);
                    //選中需要變色的內(nèi)容的起點(diǎn)索引位置以及需要變色的內(nèi)容長(zhǎng)度(就是需要變色的文本的自身長(zhǎng)度)
                    richTextBox3.Select(lineFirstCharIndex, lineArr[0].Length);
                    //對(duì)其進(jìn)行變色,當(dāng)然也可以加上其他屬性,比如字體樣式改變等等,因?yàn)槲疫@里只需要變色即可
                    richTextBox3.SelectionColor = Color.Green;
                    //對(duì)選中的字體進(jìn)行加粗處理
                    richTextBox3.SelectionFont = new Font(richTextBox3.Font.FontFamily, richTextBox3.Font.Size, FontStyle.Bold);
                }

            }
        }

加粗后效果:

C#修改富文本框(RichTextBox)指定內(nèi)容顏色

?3.結(jié)語(yǔ)

有對(duì)物聯(lián)網(wǎng)開發(fā)感興趣的小伙伴可以私信我,一起學(xué)習(xí)進(jìn)步,如果需要此解包工具的小伙伴也可以與我溝通(不收費(fèi),但是并非嚴(yán)格的808協(xié)議,是客戶產(chǎn)品基于808做的一個(gè)變種協(xié)議,大分部?jī)?nèi)容還是按808做的)

工具截圖:

終端上線數(shù)據(jù)解包:

C#修改富文本框(RichTextBox)指定內(nèi)容顏色

?平臺(tái)下行數(shù)據(jù)組包:

C#修改富文本框(RichTextBox)指定內(nèi)容顏色

工具地址:https://download.csdn.net/download/qq_17486399/87303356文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-413830.html

到了這里,關(guān)于C#修改富文本框(RichTextBox)指定內(nèi)容顏色的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • element-ui修改默認(rèn)按鈕和文本框點(diǎn)擊后的顏色

    element-ui修改默認(rèn)按鈕和文本框點(diǎn)擊后的顏色

    ? ? ? 我們?cè)谑褂胑lement-ui的時(shí)候,我們可以快速的搭建項(xiàng)目,并可以更快速的實(shí)現(xiàn)布局,但是我們?nèi)绻胍薷乃哪承邮降脑?,我們靠css并不能完全的修改,我之前發(fā)布過(guò)一個(gè)修改element-ui分頁(yè)背景色的,因?yàn)楫?dāng)時(shí)我寫一個(gè)demo需要用到。然后今天寫了一個(gè)表單,需要用到

    2024年02月11日
    瀏覽(22)
  • C# WPF讀取文本內(nèi)容的7種方式

    C# WPF讀取文本內(nèi)容的7種方式

    C#讀取文本內(nèi)容的7種方式 代碼如下(示例): 代碼如下(示例): (1)打開文件 (2)第一種:基于FileStream,并結(jié)合它的Read方法讀取指定的字節(jié)數(shù)組,最后轉(zhuǎn)換成字符串進(jìn)行顯示。 (3)第二種:基于FileStream,一個(gè)字節(jié)一個(gè)字節(jié)讀取,放到字節(jié)數(shù)組中,最后轉(zhuǎn)換成字符串

    2024年02月08日
    瀏覽(23)
  • MATLAB修改字體大小,加粗,字體樣式,字體顏色,線形,希臘字母,特殊符號(hào),圖片文本位置及字體設(shè)置等

    MATLAB修改字體大小,加粗,字體樣式,字體顏色,線形,希臘字母,特殊符號(hào),圖片文本位置及字體設(shè)置等

    1、修改label的字體大小、格式、加粗、顏色: xlabel(\\\'標(biāo)題\\\',\\\'FontSize\\\',14,\\\'FontWeight\\\',\\\'bold\\\',\\\'FontName\\\',\\\'Times New Roman\\\',\\\'Color\\\',\\\'r\\\'); 2、標(biāo)題的旋轉(zhuǎn):xlabel(\\\'標(biāo)題\\\',\\\'rotation\\\',22);ylabel(\\\'標(biāo)題\\\',\\\'rotation\\\',-35); 3、顏色符號(hào)以及線形、標(biāo)記符號(hào) 顏色符號(hào) 標(biāo)記符號(hào) b 藍(lán)色 . 點(diǎn) g 綠色 s 方塊 r 紅色 o 圓圈

    2024年02月15日
    瀏覽(21)
  • 【Vue】在el-table的el-table-column中,如何控制單行、單列、以及根據(jù)內(nèi)容單獨(dú)設(shè)置樣式。例如:修改文字顏色、背景顏色

    【Vue】在el-table的el-table-column中,如何控制單行、單列、以及根據(jù)內(nèi)容單獨(dú)設(shè)置樣式。例如:修改文字顏色、背景顏色

    用cell-style表屬性來(lái)實(shí)現(xiàn)。在官網(wǎng)中是這樣表述這個(gè)屬性的。 ? ?在el-table中用v-bind綁定此屬性。(v-bind的簡(jiǎn)寫是:) data中的options數(shù)據(jù)為: 此時(shí)頁(yè)面顯示為: ? ? 在methods中聲明cellStyle方法。讓我們打印出各個(gè)參數(shù)看一下代表了什么。 控制臺(tái)打印如下:? ? ?其實(shí)很好理解,

    2024年02月15日
    瀏覽(29)
  • Element-Ui組件 單選框(Radio,Checked) 修改點(diǎn)擊激活時(shí)的文本顏色,填充色和邊框色

    /* 選中后的字體顏色 */ /deep/ .el-radio__input.is-checked + .el-radio__label { color: #409eff !important; } /* 選中后圓圈的背景顏色 */ /deep/ .el-radio__input.is-checked .el-radio__inner { background: #409eff !important; border-color: #409eff !important; } // 選中后小圓點(diǎn)的顏色 /deep/ .el-radio__input.is-checked .el-radio__inner::a

    2024年02月16日
    瀏覽(20)
  • C#讀取加載文件中的內(nèi)容并修改保存

    在編寫unity程序時(shí),需要將配置文件中的內(nèi)容需要讀取加載到軟件中,因此需要根據(jù)文件的相對(duì)路徑來(lái)讀取文件中的內(nèi)容。代碼如下: 將加載顯示的數(shù)據(jù)進(jìn)行修改后,在重新保存到文件中,代碼如下: 字符串?dāng)?shù)組中存放,每一行需要保存的文件內(nèi)容。

    2024年02月14日
    瀏覽(27)
  • Unity3D使用C#腳本修改TextMeshPro的內(nèi)容(以顯示系統(tǒng)時(shí)間為例)

    Unity3D使用C#腳本修改TextMeshPro的內(nèi)容(以顯示系統(tǒng)時(shí)間為例)

    在網(wǎng)上找了很多都沒有涉及到這個(gè)TextMeshPro內(nèi)容修改,踩了很多坑,記錄一下 特別是using TMPro; public TextMeshProUGUI Text; GetComponent();

    2024年02月11日
    瀏覽(23)
  • IDEA報(bào)錯(cuò):前言中不允許有內(nèi)容

    idea啟動(dòng)項(xiàng)目提示前言中不允許有內(nèi)容 解決方法: 首先修改設(shè)置:IDEA–File–Settings–File Encodings–with No BOM 選中報(bào)錯(cuò)文件右鍵移除Bom 如果遇到j(luò)ava: 程序包org.springframework.boot不存在的問題參考:【完美解決】java: 程序包org.springframework.boot不存在的解決方法_猿月亮的博客-CSDN博客

    2024年02月07日
    瀏覽(66)
  • C# &OpenCV 從零開發(fā)(0):前言

    C# &OpenCV 從零開發(fā)(0):前言

    由于我想換個(gè)機(jī)器視覺+運(yùn)動(dòng)控制的工作,我就開始了自學(xué)機(jī)器視覺方向的技術(shù)。但是Halcon畢竟是商業(yè)化的庫(kù),國(guó)內(nèi)用盜版還是怕被告。所以期望使用OpenCV。 OpenCV目前已知的方法的有兩個(gè)版本 Python:用起來(lái)挺簡(jiǎn)單的,就是Python的語(yǔ)言不適合管理,感覺以后必定會(huì)出現(xiàn)問題,不適

    2024年01月18日
    瀏覽(63)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包