| C#在PictureBox控件上绘制透明背景文字.

我们在窗体设计时在Form上添加一个PictureBox,并设置背景图片,再在PictureBox上叠加一个Label,但无论如何设置Label.BackColor = Color.Transparent,都会显示Form的背景着色。但想要的效果是能看到Label区域后Image上的图片。

如何使Label变为透明将文字显示在PictureBox上呢?

在设计时将Label放在一个PictureBox控件上,然后拖动PictureBox时发现,Label原地不动,其实PictureBox并不是容器尽管它继承Control有Controls属性。所以在设计上需要手工实现代码:

//将Label控件加入PictureBox设为它的子控件
pictureBox1.Controls.Add(label1);

演示代码:
private void button6_Click(object sender, EventArgs e)
{
//将Label控件加入PictureBox设为它的子控件
pictureBox1.Controls.Add(label1);

label1.Text = "透明底色n文本nC/S框架网 www.csframework.com";
label1.BackColor = Color.Transparent;//透明底色

//Label在图片上显示的位置
Rectangle r = new Rectangle(10, 40, label1.Width, label1.Height);
label1.DrawToBitmap((Bitmap)pictureBox1.Image, r);
pictureBox1.Refresh();
}

参考文档:

C# PictureBox设置背景图片及加载图片源码
C#制作透明背景GIF动画(演示+源码)
C#.NET iTextSharp生成PDF文件源码大全(生成表格、透明水印,页脚页眉页码等)
C# Winform中如何获取父窗体中控件的信息
C# 窗体上显示透明图片,制作已审核/未审核图标
C# 窗体上显示透明图片,PNG图片,已审核/未审核图标
(C#)RichTextBox控件查找文本演示(功能全)
C#.Net自定义控件 - GridPopupContainerLookup
C#.Net自定义控件 - CheckedListBoxEditor(支持多值勾选及新增)
其它资料:

什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 3.0高级版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 上一篇下一篇 | |

--
Last modification:February 17, 2021
如果觉得我的文章对你有用,请随意赞赏