【发布时间】:2018-09-12 19:03:09
【问题描述】:
我有一个名为pictureBox1的图片框,还有一个名为label1的标签,它应该位于图片框的中间。
我需要在图片框上画一个圆圈。结果是this。有没有办法让标签背景透明,这样它就不会覆盖圆圈?
如果需要,我可以提供一些代码,但实际上并不多,只是一个简单的 drawEllipse 方法,仅此而已。
【问题讨论】:
-
是的,覆盖绘制事件。您也可以使用它进行绘制。只需搜索覆盖绘制事件即可。
我有一个名为pictureBox1的图片框,还有一个名为label1的标签,它应该位于图片框的中间。
我需要在图片框上画一个圆圈。结果是this。有没有办法让标签背景透明,这样它就不会覆盖圆圈?
如果需要,我可以提供一些代码,但实际上并不多,只是一个简单的 drawEllipse 方法,仅此而已。
【问题讨论】:
要使标签的背景透明,请将标签的 Parent 属性更改为图片框。 这将使标签的位置相对于图片框的位置,因此您需要重新计算标签的位置。
查看这篇文章了解更多信息: Transparent control over PictureBox
编辑:这段代码应该适合你
label1.BackColor = Color.Transparent;
label1.Parent = pictureBox1;
label1.Location = new Point(label1.Location.X - pictureBox1.Location.X, label1.Location.Y - pictureBox1.Location.Y);
【讨论】: