好的,这是我上一个问题的延续,但我有代码:
private void btnTrans_Click(object sender, EventArgs e)
{
var abrvStr = inputBx.Text;
foreach (var kvp in d)
{
abrvStr = abrvStr.Replace(kvp.Key, kvp.Value);
}
outputBx.Text = abrvStr;
}
基本上它是字典程序的一部分,因此当您在文本框 1 中输入一行文本时,它会出现在文本框 2 中,并替换字典中文本框 1 中的单词。
因此,如果字典中有黑色,白色,我输入墙壁是黑色的。墙壁是白色的将出现在文本框 2 中。所以一切都很好。
现在最棘手的部分是,我将如何改变它以允许我将文本框 2 中更改后的单词设置为红色。所以在我上面的例子中,墙是white。文本输出行中的白色将是红色。
注意,我正在使用 RichTextBoxes
C#语言!
建立在奥利弗·雅科特-德孔布的回答 https://stackoverflow.com/a/9927218/509746:
private void btnTrans_Click(object sender, EventArgs e)
{
var abrvStr = inputBx.Text;
foreach (var kvp in d)
{
abrvStr = abrvStr.Replace(kvp.Key, kvp.Value);
int start = abrvStr.IndexOf(kvp.Value);
if(start >= 0)
{
richTextBox1.Text = abrvStr;
richTextBox1.Select(start, kvp.Value.Length);
richTextBox1.SelectionColor = Color.Red;
}
}
}
您可以对字典的值使用 switch 语句来获取要更改选择的颜色。您需要修改它以适合字典中的值以及您想要的颜色。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)