我試圖改變一個字符的顏色,如果來自文本框的輸入與富文本框中的輸入相匹配。從輸入改變字符顏色
char key = e.KeyChar;
for(int i = 0; i < rchtxtbox.Text.Length; i++)
{
char currentLetter = rchtxtbox.Text[i];
if (key == currentLetter)
{
rchtxtbox.SelectionStart = 0;
rchtxtbox.SelectionLength = 1;
rchtxtbox.SelectionColor = Color.White;
rchtxtbox.SelectionBackColor = Color.LightGreen;
}
}
它只會突出顯示當前字母,如果它匹配。例如,如果富文本框中的單詞是「氣球」,並且首先輸入的內容是「b」,則匹配並更改顏色,但如果下一個字母被添加「ba」,則該功能停止工作並且不會更改顏色。我試過的其他替代品最終改變了所有匹配字符的顏色。如果匹配,我希望能夠按字符對它進行着色,有沒有辦法很容易地做到這一點?
您需要正確設置'rchtxtbox.SelectionStart」的性格合適的索引的名稱替換
textBox1
以上。在您的代碼中,選擇起始點爲零,因此它總是會突出顯示第一個字符 –我試圖將值更改爲i值,但是這突出顯示了所有匹配項。例如,如果我有「plop」,如果我輸入「p」,它會突出顯示開始和結束p的 – Jed5931
Ok,然後從文本框中獲取最後一個鍵控字符,獲取其索引並匹配richtextbox中相同的索引字符,如果匹配突出顯示一個而不是運行循環 –