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