C#如何在后台中用代码改变已选中的字体的颜色

来源:百度知道 编辑:UC知道 时间:2024/06/28 06:22:09
是这样的,一个用textbox控件中实现查询字符匹配的功能:
private void editfind_Click(object sender, EventArgs e)
{
frmChild f = new frmChild();
DialogResult ret = f.ShowDialog();
if (ret == DialogResult.OK)
{
int count = 0;
for (int i = 0; i <= text1.Text.Length; i++)
{
text1.Select(i, f.QueryWord.Length - 1);
if (f.QueryWord == text1.SelectedText)
{
//问题。。。
}
}
if (count == 0)
MessageBox.Show("无匹配文字!");
}
else if (ret == DialogResult.Cancel)
f.Close();
}
其中f是一个输入要查询的字符的子窗口,基本可以无视……
现在我的思路是:通过改变所查找到的文字的字体颜色来突出显示。。。
但是系统说text1(就是textbox1).selecttext是string型,没有forecolor等属性。。。所以

单纯的textbox好像很难做到

用RichTextBox吧。。

richTextBox1.Text = "abcdefghijklmn";
richTextBox1.Select(5, 5);
richTextBox1.SelectionBackColor = Color.Red;
richTextBox1.SelectionColor = Color.White;
richTextBox1.DeselectAll();

单纯后台控制格式有点困难,这种变色用javascript比较好,可以用ajax实现,也可以从后台改写control render在绘制的时候来实现