c#中的图片框透明按钮

问题描述 投票:0回答:2

我想在图片框上放许多透明按钮。 我能够以编程方式执行此操作,但所有按钮都具有纯色背景。 是否可以制作具有透明背景的按钮组件并将其显示在图片框上? 我想使用按钮这样做,因为我必须有属于按钮的事件。

我看到这篇文章Transparent control over PictureBox,但我无法使用按钮。

c# button picturebox transparent
2个回答
0
投票

按钮超过图片框不支持Color.Transparent上的边框颜色,您可以通过设置Argb颜色来克服此问题:

Color.FromArgb(0, 255, 255, 255); // transparent

将以下属性添加到图片框上的按钮以执行此操作

btn.TabStop = false;
btn.FlatStyle = FlatStyle.Flat;
btn.FlatAppearance.BorderSize = 0;
btn.FlatAppearance.MouseDownBackColor = Color.FromArgb(0, 255, 255, 255);
btn.FlatAppearance.MouseOverBackColor = Color.FromArgb(0, 255, 255, 255);
btn.FlatAppearance.BorderColor = Color.FromArgb(0, 255, 255, 255);
btn.BackColor = Color.FromArgb(0, 255, 255, 255);

-1
投票

我找到了解决方案。

btn.FlatStyle = Windows.Forms.FlatStyle.Flat
btn.FlatAppearance.BorderSize = 0
btn.FlatAppearance.MouseDownBackColor = Color.Transparent
btn.FlatAppearance.MouseOverBackColor = Color.Transparent
btn.BackColor = Color.Transparent
© www.soinside.com 2019 - 2024. All rights reserved.