Listbox如何执行完一行执行下一行并改变当前正在执行item的颜色
比如我有个listbox,这里面有
1111
2222
3333
4444
4个item,然后我在画一个textbox控件,一个按钮,我点击按钮启动后,首先读到的是1111,在textbox显示的也是1111,并且1111那一行变成红色,然后执行完1111后,继续读到2222...以此类推。
希望各位帮帮忙,我大概知道应该是个循环,for i:=0 to listbox1.count-1 do 再往后我就有点迷糊了,初学C#,实在弄不懂。。
[解决办法]
楼主,winform的listbox,设置文本颜色是只能设置全部的
[解决办法]
使用listview或者datagridview等类似但是功能更全的控件。
[解决办法]
用richtextbox吧。
private void button1_Click(object sender, EventArgs e)
{
var str = "123"+"\n";
richTextBox1.Select(0, richTextBox1.Text.Length);
richTextBox1.SelectionColor = Color.Black;
richTextBox1.AppendText(str);
richTextBox1.Select(richTextBox1.Text.Length - str.Length, richTextBox1.Text.Length);
richTextBox1.SelectionColor = Color.Red;
}
listBox设置选项颜色
加载时设置this.listBox1.DrawMode=
System.Windows.Forms.DrawMode.OwnerDrawFixed;
private void listBox1_DrawItem(object sender, DrawItemEventArgs e)
{
string s = this.listBox1.Items[e.Index].ToString();
if (s.Contains("初始化成功"))
{
e.Graphics.DrawString(s, this.Font, Brushes.Green, e.Bounds);
}
else if (s.Contains("初始化失败"))
{
e.Graphics.DrawString(s, this.Font, Brushes.Red, e.Bounds);
}
else
e.Graphics.DrawString(s, this.Font, new SolidBrush(this.ForeColor), e.Bounds);
}