【发布时间】:2019-08-28 01:38:00
【问题描述】:
我有一个具有四个属性(颜色、型号、里程、年份)的汽车类,我从四个文本框中获取这些属性。然后我将这些属性分配给汽车类的一个新对象,并将这个新对象分配给汽车类中的一个对象数组。我需要能够突出显示里程属性,但我在这样的字符串生成器中输出,如下所示:
private void button1_Click(object sender, EventArgs e)
{
carColourIN = colour.Text;
carModelIN = model.Text;
carMileageIN = Double.Parse(mileage.Text);
carYearIN = Int32.Parse(year.Text);
Car user = new Car(carColourIN, carModelIN, carMileageIN, carYearIN);
Car.vehicles[i] = user;
StringBuilder sb = new StringBuilder();
sb.Append("Colour: " + Car.vehicles[i].CarColour + "\nModel: " + Car.vehicles[i].CarModel + "\nMileage: " + Car.vehicles[i].CarMileage
+ "\nYear: " + Car.vehicles[i].CarYear + "\n\n");
displayLabel.Text = sb.ToString();
i++;
}
如何在附加的字符串构建器中突出显示里程属性,以便该特定文本部分的背景是不同的颜色或实际文本是。
【问题讨论】:
-
您需要使用
RichTextBox而不是Label才能使部分文本着色。 -
如果我使用 RichTextBox,如果我像这样将属性添加到字符串生成器中,我该如何高亮显示该属性:
Car.vehicles[i].CarMileage -
或者你可以自己绘制标签。
-
@dusk42 - 在分配
.Text属性后,您可以根据位置设置颜色。这有点烦人。没有可以应用的标记。 -
我认为你可以这样做 displayLabel.BackColor = System.Drawing.Color.Green 或 Car.vehicles[i].CarColour;
标签: c# winforms stringbuilder