我在表单中有一个pictureBox。在那个pictureBox的中间,我已经放置了所选照片的名称。 现在,我想为所选名称的背景着色。
我该怎么做?
答案 0 :(得分:8)
我不确定你的意思,但PictureBox的内容是一张图片。如果您只想显示文本,请使用标签。如果您希望它具有特定的背景颜色,请将其BackColor属性设置为您想要的颜色。
示例:
private void Form1_Load(object sender, EventArgs e)
{
var label = new Label {BackColor = Color.White};
Controls.Add(label);
}
编辑:
我允许自己重复使用上面Sampath的部分示例,使其适应用户的评论。
void pictureBox1_Paint(object sender, PaintEventArgs e)
{
using (var font = new Font("Arial", 14))
{
const string pictureName = "Picture.jpg";
var textPosition = new Point(10, 10);
//Drawing logic begins here.
var size = e.Graphics.MeasureString(pictureName, font);
var rect = new RectangleF(textPosition.X, textPosition.Y, size.Width, size.Height);
//Filling a rectangle before drawing the string.
e.Graphics.FillRectangle(Brushes.Red, rect);
e.Graphics.DrawString(pictureName, font, Brushes.Green, textPosition);
}
}
答案 1 :(得分:1)
您可以尝试以下示例。
只需在表单中添加图片框,然后为Paint事件添加事件处理程序:
您想在PictureBox中使用画图事件。您从 e.Graphics 获得图形参考,然后使用示例中的 DrawString()。
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
using (Font myFont = new Font("Arial", 14))
{
e.Graphics.DrawString("Hello .NET Guide!", myFont, Brushes.Green, new Point(2, 2));
}
}
希望这会对你有所帮助。
答案 2 :(得分:0)
您的问题可能与更改控件的背景颜色属性一样简单,您可以在属性窗口中更改该属性。