我有一个有四个属性(颜色,型号,里程,年份)的汽车类,我从四个文本框中获取这些属性。然后,我将这些属性分配给汽车类的新对象,并将此新对象分配给汽车类中的对象数组。我需要能够突出里程属性,但我输出像这样的字符串生成器,如下所示:
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++;
}
如何在附加的字符串构建器中突出显示里程属性,以便该特定文本部分的背景为不同颜色或实际文本。
我看到了一些不同的选择。这个问题的答案Multiple Colors in C# Label解释了前两个选项。
选项1:不要使用StringBuilder,并使用富文本框。然后遍历属性并使用提供的链接中的rtb_AppendText
函数一次添加一个属性。
选项2:创建自定义标签控件并覆盖OnPaint
方法。在OnPaint方法中,您可以使用MeasureText和DrawString来实现目标。
选项3:使用四种不同的标签创建用户控件,这样您就可以控制每个标签的颜色/字体/外观,从长远来看,这将为您提供最大的灵活性。