C RechText 語法著色

2021-04-18 10:11:02 字數 1370 閱讀 7971

c# richtextbox的 字型格式顏色等等

2023年12月25日 星期二 17:01

【關於字型格式】

設定的是第乙個字元的顏色,這時richtextbox的rtf中記錄下位置0的顏色,重置text時,在rtf中的位置從位置0開始,因此顏色還是color.red,第三次也應該同樣如此 richtextbox1.text = "123"; richtextbox1.select(0, 1); richtextbox1.selectioncolor = color.red; richtextbox1.clear();//清除文字,包括樣式 //或richtextbox1.text=""; richtextbox1.text = "abc"; richtextbox1.text = "efg"; 這樣重置後的文字顏色就會是黑色.

【關鍵字著色】

public

partial

class

richtextbox : form

...private

void

tsql_textchanged(

object

sender, eventargs e) //文字框改變事件

for(

inti =0

; i

<

keystr.length; i

++)this

.getbunch(keystr[i],

this

.tsql.text);

this

.tsql.select(index,

0);     //返回修改的位置

this

.tsql.selectioncolor

=color.black;

public

intgetbunch(

string

p, string

s) //給關鍵字上色

if(j

==p.length)

return

cnt;}

【繪製顏色提議】

最好的做法是繼承richtextbox,過載新類的paint方法。 並且在設定selectionlength的時候,禁止控制項的重繪過程,這樣才不會出現被語法高亮的文字有乙個突然選中的過程。 以下2個方法將會對你解決這一問題有很大的幫助. [dllimport("user32")] private static extern int sendmessage(intptr hwnd, int wmsg, int wparam, intptr lparam); private const int wm_setredraw = 0xb; //停止控制項的重繪 private void beginpaint() //允許控制項重繪. private void endpaint()

linux下設定vim語法著色

新建乙個這樣的檔案 vimrc,這個檔案是使用者自己的vim配置檔案。cd vi vimrc按a進入編輯模式,輸入一下配置資訊,配置資訊的作用在後面的注釋有說明 set hlsearch 高亮度反白 set backspace 2 可隨時用退格鍵刪除 set autoindent 自動縮排 set ...

解決fedora64下vim不能語法著色問題

初始狀態是vim開啟任何檔案都沒有高亮跡象,接不是彩色,也沒有下劃線,好了,看怎麼一步步解決的。1 vim vimrc 竟然沒有這個檔案,建立之 touch vim vimrc 新增syntax on 2 檢查語法外掛程式是否都有 rpm qa grep vim 卻乙個外掛程式,安裝上 yum in...

整理 如何做乙個語法著色控制項

很多ide或者開發工具中都有語法著色的功能,這是如何實現的呢?筆者試著用c 做了乙個sample,基本上實現此功能。本文一半是原創,一半是參考國外的論壇 語法著色器,實際上只做了兩件事情 接受使用者輸入 以及 改變關鍵字字型屬性 c 自帶的控制項中能夠滿足需求的首推 richtextbox 筆者在網...