我想在图片框上放许多透明按钮。 我能够以编程方式执行此操作,但所有按钮都具有纯色背景。 是否可以制作具有透明背景的按钮组件并将其显示在图片框上? 我想使用按钮这样做,因为我必须有属于按钮的事件。
我看到这篇文章Transparent control over PictureBox,但我无法使用按钮。
解
按钮超过图片框不支持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);
我找到了解决方案。
btn.FlatStyle = Windows.Forms.FlatStyle.Flat
btn.FlatAppearance.BorderSize = 0
btn.FlatAppearance.MouseDownBackColor = Color.Transparent
btn.FlatAppearance.MouseOverBackColor = Color.Transparent
btn.BackColor = Color.Transparent