其实普通的图片控件上显示字符很简单,拖个图片控件再拽个Label就ok了。但是这样可能达不到我们的要求,比如EyesBaby休息窗口中要求隐藏倒计秒数,如果按照之前的做法Label部分背景会有阴影效果。下面就是主要怎末让Label的背景透明,让字符感觉跟图片溶为一体;
代码实现:
方式1:
pictureBox1.SendToBack();
// 设置Label背景为透明色
lblMsg.BackColor = Color.Transparent;
lblMsg.Parent = pictureBox1;
lblMsg.BringToFront();
// 设置Label背景为透明色
lblMsg.BackColor = Color.Transparent;
lblMsg.Parent = pictureBox1;
lblMsg.BringToFront();
方式2:
pictureBox1.CreateGraphics().DrawString(lblMsg.Text, lblMsg.Font, new
SolidBrush(lblMsg.ForeColor), lblMsg.Left - pictureBox1.Left, lblMsg.Top - pictureBox1.Top);
两种方式选一即可;方式1较为普通,就是将Label背景设置为透明;方式2是将Label中的文字写入到图片中(此类方式不适合在动态图片上做)。
因为EyesBaby休息窗口提示包含动态图片,所以采用的是第一种方式。