C# 当计时器启动时,Rich textbox不会更改文本的背景色
我遇到了一个问题。我正在给富文本框中的文本添加颜色。当计时器打开时,所有文本都变成了浅绿色。但是我需要不同的颜色。这是我的代码C# 当计时器启动时,Rich textbox不会更改文本的背景色,c#,winforms,timer,richtextbox,C#,Winforms,Timer,Richtextbox,我遇到了一个问题。我正在给富文本框中的文本添加颜色。当计时器打开时,所有文本都变成了浅绿色。但是我需要不同的颜色。这是我的代码 private void Form1_Load_1(object sender, EventArgs e) { //richTextBox1.Font = new Font("Consolas", 18f, FontStyle.Bold); richTextBox1.BackColor = Color.AliceBlue;
private void Form1_Load_1(object sender, EventArgs e)
{
//richTextBox1.Font = new Font("Consolas", 18f, FontStyle.Bold);
richTextBox1.BackColor = Color.AliceBlue;
string[] words = { "Sachin tendulkas(40)", "Virendra sehwag(35)", "Dhoni", "Ramesh", "Saurov ganguly(39)", "Venkatesh prasad(44)" };
Color[] colors =
{
Color.Aqua,
Color.CadetBlue,
Color.Cornsilk,
Color.Gold,
Color.HotPink,
Color.Lavender,
Color.Moccasin
};
for (int i = 0; i < words.Length; i++)
{
string word = words[i];
Color color = colors[i];
{
richTextBox1.SelectionBackColor = color;
richTextBox1.AppendText(word);
//richTextBox1.SelectionBackColor = Color.AliceBlue;
richTextBox1.AppendText(" ");
}
}
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
string str1 = richTextBox1.Text;
str1 = str1.Substring(1) + str1.Substring(0, 1);
richTextBox1.Text = str1;
}
private void Form1\u Load\u 1(对象发送方,事件参数e)
{
//richTextBox1.Font=新字体(“Consolas”,18f,FontStyle.Bold);
richTextBox1.BackColor=Color.AliceBlue;
字符串[]单词={“Sachin tendulkas(40)”,“Virendra sehwag(35)”,“Dhoni”,“Ramesh”,“Saurov ganguly(39)”,“Venkatesh prasad(44)”;
颜色[]颜色=
{
颜色,浅绿色,
Color.CadetBlue,
颜色,玉米丝,
颜色,金色,
颜色,粉红色,
颜色,薰衣草,
颜色:软呢帽
};
for(int i=0;i
此行:
richTextBox1.Text = str1;
替换所有现有格式
您必须选择字符范围,然后将其替换为有效的RTF字符串
我怀疑您希望您的勾号事件如下所示(无错误检查):
谢谢你的回复。但是abvoe代码不起作用。我的文本在闪烁。请检查again@user2569839请定义“不起作用”。在我的测试中,我的代码与您的示例完全相同,只是保留了颜色格式。是的,闪烁是操作RTB控件的副产品。请看这个来解决这个问题。请让上面的全部代码和我的代码一起工作。让它自由闪烁并发布。@user2569839我不是你的仆人。我尽了最大的努力来帮助你。K兄弟。很抱歉这样问。原谅我。但是请帮忙。
private void timer1_Tick(object sender, EventArgs e) {
richTextBox1.Select(0, 1);
string rtf = richTextBox1.SelectedRtf;
richTextBox1.SelectedText = string.Empty;
richTextBox1.Select(richTextBox1.Text.Length, 0);
richTextBox1.SelectedRtf = rtf;
}